Vai al contenuto

Per iniziare

GitHub

Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:

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

Poi usa il seguente prompt:

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

Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:

Finestra del terminale
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 nativo: esegui npx cap sync dopo gli aggiornamenti dei plugin.
  • Fonte di verità: fidati src/definitions.ts nel 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 può essere una stringa base64 grezza o una data URL come data:application/pdf;base64,....

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

Le implementazioni native accettano percorsi locali, file:// URL, Android content:// URI e 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);

Le directory di salvataggio Android sono downloads, pictures, movies, music, e documents. Su Android 10 e versioni successive, il plugin scrive tramite MediaStore. Su Android 9 e versioni precedenti, i salvataggi pubblici usano il permesso WRITE_EXTERNAL_STORAGE del manifest con maxSdkVersion=28.

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

text viene passato come EXTRA_TEXT su Android e come secondo elemento di un'activity su 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 manca o è vuoto.
  • ERR_PARAM_NO_DATA - né base64Data né path è stato fornito.
  • ERR_PARAM_DATA_INVALID - l'input base64 non può essere decodificato.
  • ERR_LOCAL_FILE_NOT_FOUND - non è stato possibile aprire il percorso locale o l'URI del contenuto fornito.
  • ERR_FILE_CACHING_FAILED - non è stato possibile scrivere il file temporaneo nativo.
  • ERR_FILE_SAVE_FAILED - Android non è riuscito a salvare il file nello storage pubblico.
  • ERR_ACTIVITY_NOT_FOUND - Android could not open a share target.
  • USER_CANCELLED - la share sheet di iOS è stata chiusa senza completare l'operazione.

Questa pagina documenta il src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.

Se stai usando Per iniziare per pianificare lo storage e la gestione dei file, collegalo a Utilizzo di @capgo/capacitor-file-sharer per la funzionalità nativa in Using @capgo/capacitor-file-sharer, @capgo/capacitor-data-storage-sqlite per i dettagli di implementazione in @capgo/capacitor-data-storage-sqlite, Utilizzo di @capgo/capacitor-data-storage-sqlite per la funzionalità nativa in Utilizzo di @capgo/capacitor-data-storage-sqlite, @capgo/capacitor-file per i dettagli di implementazione in @capgo/capacitor-file, e Utilizzo di @capgo/capacitor-file per la funzionalità nativa in Utilizzo di @capgo/capacitor-file.