Aller au contenu

Prise en main

GitHub

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 :

Fenêtre de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Utilisez 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 :

Fenêtre de terminal
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);
  • Sync native : exécuter npx cap sync après les mises à jour du plugin.
  • Source de vérité : fiez-vous src/definitions.ts au repo GitHub.
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,....

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.

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.

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.

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 est manquant ou vide.
  • ERR_PARAM_NO_DATA - ni base64Data ni path n'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.

Cette page suit le suivi du plugin src/definitions.ts. Relancez la synchronisation lorsque l’API public change en amont.

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. »