Saltar al contenido principal
@capgo/capacitor-file Archivos y almacenamiento Código abierto

Archivo plugin Capacitor

Plugin de sistema de archivos completo para leer, escribir y gestionar archivos y directorios

Instalar

bun add @capgo/capacitor-file bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-file
  • pnpm add @capgo/capacitor-file
  • yarn add @capgo/capacitor-file

Guía

Cómo usar File en Capacitor

Uso de @capgo/capacitor-file

El plugin de Capacitor File implementa operaciones del sistema de archivos similares al plugin Cordova File.

Instalar

bun add @capgo/capacitor-file
bunx cap sync

bunx cap sync copia el code nativo del plugin en tus proyectos nativos. Ejecútalo de nuevo tras cada actualización del plugin.

Importar

import { CapacitorFile } from '@capgo/capacitor-file';

API de un vistazo

Método Descripción
requestFileSystem Solicitar un sistema de archivos.
resolveLocalFileSystemURL Resolver una URL de archivo a una entrada.
getFile Obtener una entrada de archivo.
getDirectory Obtener una entrada de directorio.
readFile Leer un archivo como texto o base64.
readAsDataURL Leer un archivo como data URL (base64 con prefijo MIME).
writeFile Escribir datos en un archivo.
appendFile Añadir datos a un archivo.
deleteFile Elimina un archivo.
mkdir Crear un directorio.
rmdir Eliminar un directorio.
readdir Leer el contenido de un directorio.
stat Obtener metadatos de un archivo o directorio.
getMetadata Obtener metadatos de un archivo o directorio. Alias de stat().
rename Renombrar o mover un archivo o directorio.
move Mover un archivo o directorio. Alias de rename().
copy Copiar un archivo o directorio.
exists Comprobar si un archivo o directorio existe.
getUri Obtener la URI de un archivo.
truncate Trunca un archivo a un tamaño específico.
getDirectories Get all known file system directories.
getFreeDiskSpace Obtén el espacio libre en disco en bytes.
checkPermissions Comprueba el estado de permisos para operaciones de archivos. En Android, verifica los permisos de almacenamiento externo. En iOS y web, siempre devuelve 'granted' ya que no se requieren permisos especiales.
requestPermissions Solicita permisos para operaciones de archivos. En Android, pide los permisos de almacenamiento externo necesarios para acceder a archivos fuera de los directorios privados de la app. En iOS y web, siempre devuelve 'granted' ya que no se requieren permisos especiales.

Ejemplos

requestFileSystem()

Solicita un sistema de archivos.

import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';

const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });
console.log(result);

resolveLocalFileSystemURL()

Resuelve una URL de archivo a una entrada.

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'https://example.com' });
console.log(result);

getFile()

Obtén una entrada de archivo.

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.getFile({ path: 'path/to/file' });
console.log(result);

getDirectory()

Obtén una entrada de directorio.

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.getDirectory({ path: 'path/to/file' });
console.log(result);

readFile()

Lee un archivo como texto o base64.

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.readFile({ path: 'path/to/file' });
console.log(result);

readAsDataURL()

Lee un archivo como una data URL (base64 con prefijo MIME).

import { CapacitorFile } from '@capgo/capacitor-file';

const result = await CapacitorFile.readAsDataURL({ path: 'path/to/file' });
console.log(result);

La tabla anterior enumera los 24 métodos principales. Los helpers de listener y versión, así como el contrato completo de cada método, están documentados en la repositorio GitHub.

Escuchar eventos

addListener devuelve un handle. Llama handle.remove() cuando la pantalla se desmonta, o CapacitorFile.removeAllListeners() para limpiar todos los listeners.

Referencia completa

Continúa desde Using @capgo/capacitor-file

Si estás usando Uso de @capgo/capacitor-file para planificar el almacenamiento y la gestión de archivos, conéctalo con @capgo/capacitor-file para el detalle de implementación en @capgo/capacitor-file, Primeros pasos para los detalles de implementación en Primeros pasos, @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 capacidad nativa en Uso de @capgo/capacitor-data-storage-sqlite, y @capgo/capacitor-uploader para el detalle de implementación en @capgo/capacitor-uploader.

FAQ

FAQ del plugin de archivos

¿Cómo instalo el plugin File en una app de Capacitor?

Ejecuta "bun add @capgo/capacitor-file" (o "npm install @capgo/capacitor-file"), luego ejecuta "bunx cap sync" para que los proyectos de iOS y Android reconozcan el code nativo. Impórtalo desde "@capgo/capacitor-file" en el code de tu app.

¿Funciona @capgo/capacitor-file con React, Vue y Angular?

Sí. File es un paquete de Capacitor, así que funciona con cualquier framework web que corra dentro de Capacitor, incluidos Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor es compatible con @capgo/capacitor-file?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-file gratuito y de código abierto?

Sí. El código fuente de code es público en GitHub en https://github.com/Cap-go/capacitor-file/ y el paquete se puede instalar gratis desde npm. Se agradecen los reportes de bugs y los pull requests.

¿Puedo actualizar code que usa File sin una revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Lanza cambios de archivos sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo