跳过主要内容
@capgo/capacitor-file 文件和存储 开源

文件 Capacitor 插件

支持读取、写入和管理文件和目录的全功能文件系统插件

安装

bun add @capgo/capacitor-file bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-file
  • pnpm add @capgo/capacitor-file
  • yarn add @capgo/capacitor-file

指南

如何在Capacitor中使用文件

在设备上测试

下载Capgo应用程序,然后扫描QRcode。

文件插件预览二维码 code

使用 @capgo/capacitor-file

Capacitor 文件插件实现了类似 Cordova File 插件的文件系统操作

安装

bun add @capgo/capacitor-file
bunx cap sync

bunx cap sync 将插件的本机 code 复制到您的本机项目中。每次升级插件后都要重新运行它

导入

import { CapacitorFile } from '@capgo/capacitor-file';

API 简要概述

方法 功能描述
requestFileSystem 请求一个文件系统
resolveLocalFileSystemURL 解析一个文件URL到一个入口
getFile 获取一个文件入口
getDirectory 获取一个目录入口
readFile 以文本或base64读取一个文件
readAsDataURL 以base64和MIME类型前缀读取一个文件
writeFile 向一个文件写入数据
appendFile 向一个文件追加数据
deleteFile 删除一个文件
mkdir 创建一个目录
rmdir 删除一个目录
readdir 读取目录内容。
stat 获取文件或目录的元数据。
getMetadata 获取文件或目录的元数据。stat()的别名。
rename 重命名或移动文件或目录。
move 移动文件或目录。rename()的别名。
copy 复制文件或目录。
exists 检查文件或目录是否存在。
getUri 获取文件的URI。
truncate 截断文件到指定大小。
getDirectories 获取所有已知的文件系统目录。
getFreeDiskSpace 获取可用磁盘空间(以字节为单位)。
checkPermissions 检查当前文件操作的权限状态。Android上检查外部存储权限,iOS和web上始终返回‘granted’,因为不需要特殊权限。
requestPermissions Android 上需要请求外部存储权限才能访问应用私有目录外的文件。 iOS 和 web 上始终返回 'granted',因为不需要特殊权限。

示例

requestFileSystem()

请求文件系统

import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';

const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });
console.log(result);

resolveLocalFileSystemURL()

解析文件 URL 到一个条目

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'https://example.com' });
console.log(result);

getFile()

获取文件条目

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.getFile({ path: 'path/to/file' });
console.log(result);

getDirectory()

获取目录条目

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.getDirectory({ path: 'path/to/file' });
console.log(result);

readFile()

以文本或 base64 格式读取文件

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.readFile({ path: 'path/to/file' });
console.log(result);

readAsDataURL()

以数据 URL (base64 + MIME 类型前缀) 格式读取文件

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.readAsDataURL({ path: 'path/to/file' });
console.log(result);

上表列出了 24 个核心方法。 监听器和版本帮助,以及每个方法的完整契约,均在 GitHub 仓库.

监听事件

addListener 返回句柄。 调用 handle.remove() 当屏幕卸载时,或者 CapacitorFile.removeAllListeners() 清除所有监听器。

全局参考

继续使用 @capgo/capacitor-file

如果您正在使用 使用 @capgo/capacitor-file 规划存储和文件处理,连接它到 @capgo/capacitor-file 在 @capgo/capacitor-file 中实现详细信息 开始使用 为开始使用中的实现细节 @capgo/capacitor-sqlite-数据存储 为@capgo/capacitor-data-storage-sqlite中的实现细节 使用@capgo/capacitor-data-storage-sqlite 为使用@capgo/capacitor-data-storage-sqlite中的原生能力 @capgo/capacitor-上传器 为@capgo/capacitor-uploader中的实现细节

常见问题

文件插件常见问题

如何在 Capacitor 应用中安装 File 插件?

运行 "bun add @capgo/capacitor-file" (或 "npm install @capgo/capacitor-file" ),然后运行 "bunx cap sync" 以便 iOS 和 Android 项目捕获本地 code。从 "@capgo/capacitor-file" 中导入它,然后在应用中使用 code。

Does @capgo/capacitor-file work with React, Vue and Angular?

是。File 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

Which Capacitor version does @capgo/capacitor-file support?

Capgo 插件遵循 Capacitor 的主要版本:使用匹配您的 Capacitor 主要版本的插件版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

Capgo @capgo/capacitor-file 是否免费和开源?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-file/ and the package is free to install from npm. Bug reports and pull requests are welcome.

是否可以在不经过 App Store 审核的情况下更新使用 File 的 code?

Installing or upgrading the plugin changes native code, so it needs a new store build. After that, JavaScript, HTML and CSS changes that call the plugin can ship instantly with Capgo live updates.

不必等待应用程序审查即可将文件更改交付

一旦插件添加到您的商店构建中,Capgo即时更新将推送您的JavaScript、HTML和CSS更改给用户。

使用Capgo开始