使用 @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中的实现细节