跳过内容

开始

GitHub

安装

安装
终端窗口
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,
});

原生实现接受本地路径、 file:// URLs、Android content:// URIs、和 Capacitor _capacitor_file_ URLs。

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 以下版本中,公共保存使用清单 WRITE_EXTERNAL_STORAGE permission with 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 上

类型参考

类型参考部分

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;
}
export interface SaveFileResult {
uri?: string;
}
  • ERR_PARAM_NO_FILENAME - filename 缺少或为空。
  • ERR_PARAM_NO_DATA - 且 base64Datapath 未提供。
  • 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 上游发生变化时,请重新运行同步。

继续从 Getting Started

标题:继续从 Getting Started

如果您正在使用 Getting Started 来规划存储和文件处理,连接它到 使用 @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 的原生能力