跳过内容

开始使用

GitHub

您可以使用我们的AI辅助设置来安装插件。使用以下命令将Capgo技能添加到您的AI工具中:

终端窗口
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

然后使用以下提示:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file-sharer` plugin in my project.

如果您prefer手动设置,安装插件并运行以下命令并遵循以下平台特定的说明:

终端窗口
bun add @capgo/capacitor-file-sharer
bunx cap sync
import { FileSharer } from '@capgo/capacitor-file-sharer';

分享 Base64 文件

标题:分享 Base64 文件
import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({
filename: 'report.pdf',
contentType: 'application/pdf',
base64Data: reportBase64,
title: 'Quarterly report',
text: 'Attached report',
});

base64Data 可以是原始 Base64 字符串或类似这样的数据 URL data:application/pdf;base64,....

分享本地文件

标题:分享本地文件
await FileSharer.share({
filename: 'export.zip',
contentType: 'application/zip',
path: fileUri,
});

本地实现支持本地路径、URL、Android URI 和 __CAPGO_KEEP_0__ file:// URL content:// URIs, and Capacitor _capacitor_file_ URL

const result = await FileSharer.save({
filename: 'backup.zip',
contentType: 'application/zip',
base64Data: zipBase64,
android: {
saveDirectory: 'downloads',
relativePath: 'Download/My App',
},
});
console.log(result.uri);

安卓保存目录是 downloads, pictures, movies, music, 和 documents. 在安卓 10 及以上版本中,插件通过 MediaStore 写入。 在安卓 9 及以下版本中,公共保存使用清单 WRITE_EXTERNAL_STORAGE 权限与 maxSdkVersion=28.

分享文本与文件

标题:分享文本与文件
await FileSharer.share({
filename: 'photo.jpg',
contentType: 'image/jpeg',
path: photoUri,
title: 'Site photo',
subject: 'Photo export',
text: 'Captured during inspection.',
});

text 作为安卓中的 EXTRA_TEXT 作为 iOS 中的第二个活动项

类型参考

类型参考

ShareFileOptions

分享文件选项
export interface ShareFileOptions {
filename: string;
base64Data?: string;
path?: string;
contentType?: string;
text?: string;
title?: string;
subject?: string;
android?: AndroidFileSharerOptions;
}

AndroidFileSharerOptions

安卓文件共享选项
export interface AndroidFileSharerOptions {
chooserTitle?: string;
saveDirectory?: 'downloads' | 'pictures' | 'movies' | 'music' | 'documents';
relativePath?: string;
}

SaveFileResult

保存文件结果
export interface SaveFileResult {
uri?: string;
}

错误代码

错误代码
  • ERR_PARAM_NO_FILENAME - filename 不能为空。
  • ERR_PARAM_NO_DATA - 两者都不能 base64Data nor path nor
  • ERR_PARAM_DATA_INVALID base64输入无法解码。
  • ERR_LOCAL_FILE_NOT_FOUND 无法打开提供的本地路径或内容URI。
  • ERR_FILE_CACHING_FAILED 无法写入本地临时文件。
  • ERR_FILE_SAVE_FAILED 无法在Android上保存文件到公共存储。
  • ERR_ACTIVITY_NOT_FOUND 无法在Android上打开分享目标。
  • USER_CANCELLED 无法在iOS上完成分享。

真实来源

真实来源

本页面跟踪插件的 src/definitions.ts重新同步公共API时,重新运行同步,当公共API上游发生变化时。

如果您正在使用 开始 规划存储和文件处理 Using @capgo/capacitor-file-sharer 使用@capgo/capacitor-file-sharer 为使用@capgo/capacitor-file-sharer中的本机功能 使用@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 为在使用 @capgo/capacitor-file 中的原生能力