Skip to content

Getting Started

GitHub

CapgoのAI-Assistedセットアップを使用してプラグインをインストールできます。AIツールにCapgoスキルを追加するには、以下のコマンドを実行してください。

ターミナル画面
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.

Manualセットアップを使用する場合は、以下のコマンドを実行してプラグインをインストールし、以下のプラットフォーム固有の指示に従ってください。

ターミナルウィンドウ
bun add @capgo/capacitor-file-sharer
bunx 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,
title: 'Quarterly report',
text: 'Attached report',
});

base64Data Base64形式の文字列やデータURLなど data:application/pdf;base64,....

Base64形式でないファイルを共有

「Base64形式でないファイルを共有」セクション
await FileSharer.share({
filename: 'export.zip',
contentType: 'application/zip',
path: fileUri,
});

native実装はローカルパス、 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 __CAPGO_KEEP_0__が渡されます EXTRA_TEXT __CAPGO_KEEP_0__はAndroidで、iOSでは2番目のアクティビティアイテムとして渡されます。

export interface ShareFileOptions {
filename: string;
base64Data?: string;
path?: string;
contentType?: string;
text?: string;
title?: string;
subject?: string;
android?: 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 から続けてください」セクション

Capacitor を使用している場合 Getting Started ストレージとファイルハンドリングを計画するには、Capacitor を Capacitor の @capgo/capacitor-file-sharer Capacitor の @capgo/capacitor-file-sharer Capacitor の @capgo/capacitor-data-storage-sqlite 実装詳細については @capgo/capacitor-data-storage-sqlite に 使用する @capgo/capacitor-data-storage-sqlite ネイティブ機能については Using @capgo/capacitor-data-storage-sqlite に @capgo/capacitor-file 実装詳細については @capgo/capacitor-file に 使用する @capgo/capacitor-file ネイティブ機能については Using @capgo/capacitor-file に