使用 @capgo/capacitor-file-sharer
从 base64 数据、数据 URL、本地文件路径、URL、Android URI 和 __CAPGO_KEEP_0__ file:// URL 保存和下载文件 content:// URIs, and Capacitor _capacitor_file_ 此插件暴露的内容
- 在 Android 和 iOS 上打开原生分享面板,或者在 Web 上下载文件。
bun add @capgo/capacitor-file-sharer
bunx cap sync
- 在 Android 上保存到公共收藏,或者在 iOS 上打开保存/分享面板,或者在 Web 上下载。
share- 返回平台实现版本。save示例使用getPluginVersionInstall
What This Plugin Exposes
分享生成的文件
import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({
filename: 'report.pdf',
contentType: 'application/pdf',
base64Data: reportBase64,
title: 'Quarterly report',
text: 'Attached report',
});
分享本地文件
await FileSharer.share({
filename: 'export.zip',
contentType: 'application/zip',
path: fileUri,
});
在安卓上保存到下载
const result = await FileSharer.save({
filename: 'backup.zip',
contentType: 'application/zip',
base64Data: zipBase64,
android: {
saveDirectory: 'downloads',
relativePath: 'Download/My App',
},
});
console.log(result.uri);
平台说明
- 安卓分享使用
FileProvider,ClipData, 并使用 URI 授予选择器预览和缩略图以读取文件。 - 安卓保存使用安卓 10+ 上的 MediaStore 和安卓 9 以下的公共目录。
- iOS 分享支持两种方式:base64 后备的临时文件和直接本地路径分享。
- Web 分享和保存下载文件,使用分块 base64 转换处理大文件。
完整参考
- GitHub: https://github.com/Cap-go/capacitor-file-sharer/
- 文档: /docs/plugins/file-sharer/
继续使用 @capgo/capacitor-file-sharer
如果您正在使用 使用 @capgo/capacitor-file-sharer 来规划存储和文件处理,连接它到 @capgo/capacitor-file-sharer 查看 @capgo/capacitor-file-sharer 的实现细节 查看 Getting Started 的实现细节 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-data-storage-sqlite 查看 @capgo/capacitor-data-storage-sqlite 的实现细节 使用 @capgo/capacitor-data-storage-sqlite Using @capgo/capacitor-data-storage-sqlite 为使用@capgo/capacitor-data-storage-sqlite的原生能力, 和 @capgo/capacitor-file 为@capgo/capacitor-file的实现细节