Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este 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.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file-sharer` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
npm install @capgo/capacitor-file-sharernpx cap syncImportar
Sección titulada “Importar”import { FileSharer } from '@capgo/capacitor-file-sharer';Inicio rápido
Sección titulada “Inicio rápido”import { FileSharer } from '@capgo/capacitor-file-sharer';
await FileSharer.share({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});Ejemplo: guardar
Sección titulada “Ejemplo: save”import { FileSharer } from '@capgo/capacitor-file-sharer';
const result = await FileSharer.save({ filename: 'report.pdf', contentType: 'application/pdf', base64Data: reportBase64,});console.log(result);Errores comunes
Sección titulada “Errores comunes”- Sync nativo: ejecuta
npx cap synctras actualizar los plugins. - Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Compartir un archivo Base64
Sección titulada “Compartir un archivo 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 puede ser un string base64 puro o una data URL como data:application/pdf;base64,....
Compartir un archivo local
Sección titulada “Compartir un archivo local”await FileSharer.share({ filename: 'export.zip', contentType: 'application/zip', path: fileUri,});Las implementaciones nativas aceptan rutas locales, file:// URLs, Android content:// URIs y Capacitor _capacitor_file_ URLs.
Guardar un archivo
Sección titulada “Save A 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);Los directorios de guardado en Android son downloads, pictures, movies, music, y documents. En Android 10 y versiones posteriores, el plugin escribe mediante MediaStore. En Android 9 y anteriores, el guardado público usa el permiso WRITE_EXTERNAL_STORAGE del manifest con maxSdkVersion=28.
Compartir texto con un archivo
Sección titulada “Share Text With A File”await FileSharer.share({ filename: 'photo.jpg', contentType: 'image/jpeg', path: photoUri, title: 'Site photo', subject: 'Photo export', text: 'Captured during inspection.',});text se pasa como EXTRA_TEXT en Android y como un segundo elemento de actividad en iOS.
Referencia de tipos
Sección titulada “Referencia de tipos”ShareFileOptions
Sección titulada “ShareFileOptions”export interface ShareFileOptions { filename: string; base64Data?: string; path?: string; contentType?: string; text?: string; title?: string; subject?: string; android?: AndroidFileSharerOptions;}AndroidFileSharerOptions
Sección titulada “AndroidFileSharerOptions”export interface AndroidFileSharerOptions { chooserTitle?: string; saveDirectory?: 'downloads' | 'pictures' | 'movies' | 'music' | 'documents'; relativePath?: string;}SaveFileResult
Sección titulada “SaveFileResult”export interface SaveFileResult { uri?: string;}Códigos de error
Sección titulada “Códigos de error”ERR_PARAM_NO_FILENAME-filenamefalta o está en blanco.ERR_PARAM_NO_DATA- nibase64Datanipathse proporcionó.ERR_PARAM_DATA_INVALID- no se pudo decodificar el input base64.ERR_LOCAL_FILE_NOT_FOUND- no se pudo abrir la ruta local o el URI de contenido proporcionados.ERR_FILE_CACHING_FAILED- no se pudo escribir el archivo temporal nativo.ERR_FILE_SAVE_FAILED- Android no pudo guardar el archivo en el almacenamiento público.ERR_ACTIVITY_NOT_FOUND- Android no pudo abrir el destino para compartir.USER_CANCELLED- se cerró el share sheet de iOS sin completar la acción.
Fuente de verdad
Sección titulada “Fuente de verdad”Esta página rastrea el src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar el almacenamiento y la gestión de archivos, conéctalo con Usando @capgo/capacitor-file-sharer para la capacidad nativa en Using @capgo/capacitor-file-sharer, @capgo/capacitor-data-storage-sqlite para el detalle de implementación en @capgo/capacitor-data-storage-sqlite, Uso de @capgo/capacitor-data-storage-sqlite para la funcionalidad nativa en Uso de @capgo/capacitor-data-storage-sqlite, @capgo/capacitor-file para el detalle de implementación en @capgo/capacitor-file, y Uso de @capgo/capacitor-file para la funcionalidad nativa en Uso de @capgo/capacitor-file.