指南
文件共享器教程
使用@capgo/capacitor-file-sharer
从base64数据、数据URL、本地文件路径、URL、Android、URI和__CAPGO_KEEP_0__中的URL共享和保存文件。 file:// 安装 content:// URIs, and Capacitor _capacitor_file_ - 在Android和iOS上打开本机分享sheet,或者在Web上下载文件。
使用@__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-file-sharer
bun add @capgo/capacitor-file-sharer
bunx cap sync
从base64数据、数据URL、本地文件路径、URL、Android、URI和__CAPGO_KEEP_0__中的URL共享和保存文件。
share在Android和iOS上打开本机分享sheet,或者在Web上下载文件。save- 将文件保存到 Android 公共收藏夹,打开 iOS 的保存/分享面板,或者在 Web 上下载。getPluginVersion- 返回平台实现的版本。
示例用法
分享一个生成的文件
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,
});
在 Android 上保存到下载目录
const result = await FileSharer.save({
filename: 'backup.zip',
contentType: 'application/zip',
base64Data: zipBase64,
android: {
saveDirectory: 'downloads',
relativePath: 'Download/My App',
},
});
console.log(result.uri);
平台说明
- Android 的分享功能使用
FileProvider,ClipData,并且 URI 权限允许预览和缩略图可以读取文件。 - Android 的保存功能使用 MediaStore 在 Android 10+ 上,和公共目录在 Android 9 以下。
- iOS 的分享功能支持临时文件的 base64 编码和直接本地路径分享。
- Web 的分享和保存功能下载文件,使用 chunked base64 转换来处理大文件。
全参考
- GitHub: https://github.com/Cap-go/capacitor-file-sharer/
- 文档:/docs/plugins/file-sharer/