Zum Inhalt springen

Erste Schritte

GitHub

Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:

Terminalfenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Nutze dann diesen Prompt:

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

Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:

Terminalfenster
npm install @capgo/capacitor-file-sharer
npx 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);
  • Nativer Sync: ausführen npx cap sync nach Plugin-Upgrades.
  • Single Source of Truth: Vertrauen src/definitions.ts im GitHub Repo.
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 ein roher Base64-String oder eine Data-URL sein, wie zum Beispiel data:application/pdf;base64,....

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

Die nativen 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);

Android-Speicherverzeichnisse sind downloads, pictures, movies, music, und documents. Ab Android 10 schreibt das Plugin über MediaStore. Bei Android 9 und älter nutzen öffentliche Speicherungen die Manifest- WRITE_EXTERNAL_STORAGE Berechtigung 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 übergeben als EXTRA_TEXT auf Android und als zweites Activity-Item 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 fehlt oder ist leer.
  • ERR_PARAM_NO_DATA - weder base64Data - noch path wurde bereitgestellt.
  • ERR_PARAM_DATA_INVALID - base64-Input konnte nicht dekodiert werden.
  • ERR_LOCAL_FILE_NOT_FOUND - der lokale Pfad oder die Content-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 im öffentlichen Speicher speichern.
  • ERR_ACTIVITY_NOT_FOUND - Android konnte kein Share-Target öffnen.
  • USER_CANCELLED - das iOS Share Sheet wurde ohne Abschluss geschlossen.

Diese Seite dokumentiert die Plugin-Unterstützung src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.

Wenn du es nutzt Erste Schritte um Speicher- und Dateiverwaltung zu planen, verbinde es mit Verwendung von @capgo/capacitor-file-sharer für die native Funktion bei der Nutzung von @capgo/capacitor-file-sharer, @capgo/capacitor-data-storage-sqlite für die Implementierungsdetails in @capgo/capacitor-data-storage-sqlite, Mit @capgo/capacitor-data-storage-sqlite für die native Funktionalität in „@capgo/capacitor-data-storage-sqlite verwenden“, @capgo/capacitor-file für das Implementierungsdetail in @capgo/capacitor-file und @capgo/capacitor-file verwenden für die native Funktion bei der Nutzung von @capgo/capacitor-file.