Per iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo 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.
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:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi 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:
npm install @capgo/capacitor-file-sharernpx cap syncImporta
Sezione intitolata “Import”import { FileSharer } from '@capgo/capacitor-file-sharer';Avvio rapido
Sezione intitolata “Quick start”import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});Esempio: salvataggio
Sezione intitolata “Esempio: salvataggio”import { FileSharer } from '@capgo/capacitor-file-sharer';
const result = await FileSharer.save({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});console.log(result);Errori comuni
Sezione intitolata “Errori comuni”- Sync nativo: esegui
npx cap syncdopo gli aggiornamenti dei plugin. - Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
Condividi un file Base64
Sezione intitolata “Condividi un file 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 può essere una stringa base64 grezza o una data URL come data:application/pdf;base64,....
Condividi un file locale
Sezione intitolata “Condividi un file locale”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.
Salva un file
Sezione intitolata “Salva un file”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.
Condividi testo con un file
Sezione intitolata “Condividi testo con un file”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.
Riferimento ai tipi
Sezione: “Type Reference”ShareFileOptions
Sezione intitolata “ShareFileOptions”export interface ShareFileOptions { filename: string; base64Data?: string; path?: string; contentType?: string; text?: string; title?: string; subject?: string; android?: AndroidFileSharerOptions;}AndroidFileSharerOptions
Sezione intitolata “AndroidFileSharerOptions”export interface AndroidFileSharerOptions { chooserTitle?: string; saveDirectory?: 'downloads' | 'pictures' | 'movies' | 'music' | 'documents'; relativePath?: string;}SaveFileResult
Sezione intitolata “SaveFileResult”export interface SaveFileResult { uri?: string;}Codici di errore
Sezione intitolata “Codici di errore”ERR_PARAM_NO_FILENAME-filenamemanca o è vuoto.ERR_PARAM_NO_DATA- nébase64Datané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.
Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina documenta il src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”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.