Prise en main
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
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.
Installer
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par IA pour installer le plugin. Ajoutez les skills Capgo à votre outil d'IA avec la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUtilisez ensuite le prompt suivant :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file-sharer` plugin in my project.Si vous préférez une installation manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques à chaque plateforme ci-dessous :
npm install @capgo/capacitor-file-sharernpx cap syncImporter
Section intitulée « Import »import { FileSharer } from '@capgo/capacitor-file-sharer';Démarrage rapide
Section intitulée « Démarrage rapide »import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});Exemple : sauvegarder
Section intitulée « Exemple : save »import { FileSharer } from '@capgo/capacitor-file-sharer';
const result = await FileSharer.save({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});console.log(result);Erreurs courantes
Section intitulée « Erreurs courantes »- Sync native : exécuter
npx cap syncaprès les mises à jour du plugin. - Source de vérité : fiez-vous
src/definitions.tsau repo GitHub.
Partager un fichier Base64
Section intitulée « Partager un fichier 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 peut être une chaîne base64 brute ou une URL de données telle que data:application/pdf;base64,....
Partager un fichier local
Section intitulée « Partager un fichier local »await FileSharer.share({ filename: 'export.zip', contentType: 'application/zip', path: fileUri,});Les implémentations natives acceptent les chemins locaux, file:// URLs, Android content:// URIs et Capacitor _capacitor_file_ URLs.
Save A File
Section intitulée « Enregistrer un fichier »const result = await FileSharer.save({ filename: 'backup.zip', contentType: 'application/zip', base64Data: zipBase64, android: { saveDirectory: 'downloads', relativePath: 'Download/My App', },});
console.log(result.uri);Les répertoires d'enregistrement Android sont downloads, pictures, movies, music, et documents. Sur Android 10 et versions ultérieures, le plugin écrit via MediaStore. Sur Android 9 et versions antérieures, les enregistrements publics utilisent la permission WRITE_EXTERNAL_STORAGE du manifeste avec maxSdkVersion=28.
Partager du texte avec un fichier
Section intitulée « Partager du texte avec un fichier »await FileSharer.share({ filename: 'photo.jpg', contentType: 'image/jpeg', path: photoUri, title: 'Site photo', subject: 'Photo export', text: 'Captured during inspection.',});text est passé en tant que EXTRA_TEXT sur Android et comme deuxième élément d'activité sur iOS.
Référence de type
Section intitulée « Référence de type »ShareFileOptions
Section intitulée « ShareFileOptions »export interface ShareFileOptions { filename: string; base64Data?: string; path?: string; contentType?: string; text?: string; title?: string; subject?: string; android?: AndroidFileSharerOptions;}AndroidFileSharerOptions
Section intitulée « AndroidFileSharerOptions »export interface AndroidFileSharerOptions { chooserTitle?: string; saveDirectory?: 'downloads' | 'pictures' | 'movies' | 'music' | 'documents'; relativePath?: string;}SaveFileResult
Section intitulée « SaveFileResult »export interface SaveFileResult { uri?: string;}Codes d'erreur
Section intitulée « Codes d'erreur »ERR_PARAM_NO_FILENAME-filenameest manquant ou vide.ERR_PARAM_NO_DATA- nibase64Datanipathn'a été fourni.ERR_PARAM_DATA_INVALID- l'entrée base64 n'a pas pu être décodée.ERR_LOCAL_FILE_NOT_FOUND- le chemin local ou l'URI de contenu fourni n'a pas pu être ouvert.ERR_FILE_CACHING_FAILED- le fichier temporaire natif n'a pas pu être écrit.ERR_FILE_SAVE_FAILED- Android n'a pas pu enregistrer le fichier sur le stockage public.ERR_ACTIVITY_NOT_FOUND- Android n'a pas pu ouvrir une cible de partage.USER_CANCELLED- la feuille de partage iOS a été fermée sans être terminée.
Source de vérité
Section intitulée « Source de vérité »Cette page suit le suivi du plugin src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.
Continuer depuis Getting Started
Section intitulée « Continuer après Prise en main »Si vous utilisez Prise en main pour planifier le stockage et la gestion des fichiers, connectez-l’à Utiliser @capgo/capacitor-file-sharer pour la fonctionnalité native dans la section Utiliser @capgo/capacitor-file-sharer, @capgo/capacitor-data-storage-sqlite pour les détails d'implémentation dans @capgo/capacitor-data-storage-sqlite, Utiliser @capgo/capacitor-data-storage-sqlite pour la capacité native dans Utiliser @capgo/capacitor-data-storage-sqlite @capgo/capacitor-file pour le détail d'implémentation dans @capgo/capacitor-file, et Utiliser @capgo/capacitor-file pour la capacité native dans « Utiliser @capgo/capacitor-file. »