跳过主要内容
返回插件
@capgo/capacitor-file-sharer
教程
@capgo/capacitor-file-sharer

文件共享

从base64数据或本地路径共享和保存文件,适用于Android、iOS和Web

指南

文件共享器教程

在设备上测试

下载Capgo应用,扫描以下二维码code。

文件共享插件预览二维码 code

使用 @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 - 示例使用
  • 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,
});

在安卓上保存到下载

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 授予者可以预览和缩略图读取文件。
  • 安卓保存使用 MediaStore 在安卓 10+ 和公共目录在安卓 9 以下。
  • iOS 分享支持两种方式:base64 后备临时文件和直接本地路径分享。
  • Web 分享和保存下载文件,使用分块 base64 转换大文件。

完整参考

继续使用 @capgo/capacitor-file-sharer

如果您正在使用 使用 @capgo/capacitor-file-sharer 与 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-file-sharer 进行连接 查看 @capgo/capacitor-file-sharer 的实现细节 for the implementation detail in @capgo/capacitor-file-sharer, 查看开始的实现细节 查看 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-data-storage-sqlite 的实现细节 查看 @capgo/capacitor-data-storage-sqlite 的实现细节 使用 @capgo/capacitor-data-storage-sqlite 使用 @capgo/capacitor-data-storage-sqlite 为使用@capgo/capacitor-data-storage-sqlite的原生能力,以及 @capgo/capacitor-file 为@capgo/capacitor-file的实现细节。