Zum Inhalt springen

Anfangen

Terminalfenster
bun add @capgo/capacitor-file-sharer
bunx cap sync
import { FileSharer } from '@capgo/capacitor-file-sharer';

Ein Base64-File teilen

Abschnitt: Ein Base64-File teilen
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 kann eine rohe Base64-Zeichenfolge oder eine Daten-URL wie data:application/pdf;base64,....

await FileSharer.share({
filename: 'export.zip',
contentType: 'application/zip',
path: fileUri,
});

Die native Implementierungen akzeptieren lokale Pfade, file:// URLs, Android content:// URIs und 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);

Die Speicherorte für Android sind downloads, pictures, movies, music, und documentsAuf Android 10 und neuer schreibt der Plugin über MediaStore. Auf Android 9 und darunter verwenden öffentliche Speicherungen den Manifest. WRITE_EXTERNAL_STORAGE Erlaubnis mit maxSdkVersion=28.

await FileSharer.share({
filename: 'photo.jpg',
contentType: 'image/jpeg',
path: photoUri,
title: 'Site photo',
subject: 'Photo export',
text: 'Captured during inspection.',
});

text wird als EXTRA_TEXT auf Android und als zweites Aktivitäts-Element auf iOS.

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 wurde nicht oder ist leer angegeben.
  • ERR_PARAM_NO_DATA - weder base64Data - noch path wurde nicht bereitgestellt.
  • ERR_PARAM_DATA_INVALID - Die Basis64-Eingabe konnte nicht dekodiert werden.
  • ERR_LOCAL_FILE_NOT_FOUND - Der bereitgestellte lokale Pfad oder die Inhalts-URI konnte nicht geöffnet werden.
  • ERR_FILE_CACHING_FAILED - Die native temporäre Datei konnte nicht geschrieben werden.
  • ERR_FILE_SAVE_FAILED - Android konnte die Datei nicht in die öffentliche Speicherung speichern.
  • ERR_ACTIVITY_NOT_FOUND - Android konnte keine Zielgruppe für das Teilen öffnen.
  • USER_CANCELLED - Die iOS-Teilungsliste wurde ohne Abschluss geschlossen.

Diese Seite verfolgt den Plugin-Status. src/definitions.ts. Wenn sich die öffentliche API im Hintergrund ändert, führen Sie die Synchronisierung erneut durch.