快速入门
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-file-sharer`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/file-sharer/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
“安装”章节你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下 prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file-sharer` plugin in my project.如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:
npm install @capgo/capacitor-file-sharernpx cap sync导入
“导入”章节import { FileSharer } from '@capgo/capacitor-file-sharer';快速入门
章节标题为“快速入门”import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});示例:保存
章节标题:“示例:保存”import { FileSharer } from '@capgo/capacitor-file-sharer';
const result = await FileSharer.save({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});console.log(result);常见坑点
章节标题为“常见陷阱”- 原生同步:运行
npx cap sync在插件升级后。 - 唯一可信来源:信任
src/definitions.ts在 GitHub 仓库中。
分享 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 字符串,也可以是 data URL,例如 data:application/pdf;base64,....
分享本地文件
“分享本地文件”章节await FileSharer.share({ filename: 'export.zip', contentType: 'application/zip', path: fileUri,});原生实现支持本地路径, file:// URL、Android content:// URI 和 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);Android 的保存目录为 downloads, pictures, movies, music,以及 documents。在 Android 10 及更高版本上,插件通过 MediaStore 写入。在 Android 9 及更低版本上,公开保存使用 manifest 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 在 Android 上作为参数,在 iOS 上作为第二个 activity 项。
类型参考
“类型参考” 章节ShareFileOptions
标题为 “ShareFileOptions” 的章节export interface ShareFileOptions { filename: string; base64Data?: string; path?: string; contentType?: string; text?: string; title?: string; subject?: string; android?: AndroidFileSharerOptions;}AndroidFileSharerOptions
标题为 “AndroidFileSharerOptions” 的章节export interface AndroidFileSharerOptions { chooserTitle?: string; saveDirectory?: 'downloads' | 'pictures' | 'movies' | 'music' | 'documents'; relativePath?: string;}SaveFileResult
标题为 “SaveFileResult” 的章节export interface SaveFileResult { uri?: string;}错误码
标题为“错误码”的章节ERR_PARAM_NO_FILENAME-filename缺失或为空。ERR_PARAM_NO_DATA- 既没有base64Data也没有path提供。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 发生变化时,请重新运行 sync。
从入门指南继续
“从入门指南继续”章节如果你正在使用 快速入门 要规划存储和文件处理,请将其与 使用 @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 在 @capgo/capacitor-file. 中使用原生能力