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`
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/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` 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-filenpx cap syncImporta
Sezione intitolata “Import”import { CapacitorFile } from '@capgo/capacitor-file';Avvio rapido
Sezione intitolata “Quick start”import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });console.log(result);Esempio: resolveLocalFileSystemURL
Sezione intitolata “Esempio: resolveLocalFileSystemURL”import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'file:///data/user/0/com.example.app/files/report.pdf',});console.log(result);Esempio: getFile
Sezione intitolata “Esempio: getFile”import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFile({ path: 'path/to/file' });console.log(result);Errori comuni
Sezione intitolata “Errori comuni”- Permessi: chiamata
checkPermissions()poirequestPermissions()quando necessario. - Listener: rimuovi gli handle quando gli schermi vengono smontati.
- Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
Panoramica API
Sezione intitolata “Panoramica API”requestFileSystem
Sezione intitolata “requestFileSystem”Richiedi un file system.
import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });console.log(result);resolveLocalFileSystemURL
Sezione intitolata “resolveLocalFileSystemURL”Risolvi un URL di file in un'entry.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'https://example.com' });console.log(result);getFile
Sezione intitolata “getFile”Ottieni un'entry di file.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFile({ path: 'path/to/file' });console.log(result);getDirectory
Sezione intitolata “getDirectory”Ottieni una entry di directory.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getDirectory({ path: 'path/to/file' });console.log(result);readFile
Sezione intitolata “readFile”Leggi un file come testo o base64.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readFile({ path: 'path/to/file' });console.log(result);readAsDataURL
Sezione intitolata “readAsDataURL”Leggi un file come data URL (base64 con prefisso del tipo MIME).
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readAsDataURL({ path: 'path/to/file' });console.log(result);writeFile
Sezione intitolata “writeFile”Scrivi dei dati in un file.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.writeFile({ path: 'path/to/file', data: 'data',});console.log(result);appendFile
Sezione intitolata “appendFile”Aggiunge dati a un file.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.appendFile({ path: 'path/to/file', data: 'data',});console.log(result);deleteFile
Sezione intitolata “deleteFile”Elimina un file.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.deleteFile({ path: 'path/to/file' });Crea una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.mkdir({ path: 'path/to/file' });Elimina una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.rmdir({ path: 'path/to/file' });readdir
Sezione intitolata “readdir”Legge il contenuto di una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readdir({ path: 'path/to/file' });console.log(result);Ottiene i metadati di un file o di una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.stat({ path: 'path/to/file' });console.log(result);getMetadata
Sezione intitolata “getMetadata”Ottieni i metadati di un file o di una directory. Alias di stat().
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getMetadata({ path: 'path/to/file' });console.log(result);Rinomina o sposta un file o una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.rename({ from: 'from', to: 'to',});Sposta un file o una directory. Alias di rename().
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.move({ from: 'from', to: 'to',});Copia un file o una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.copy({ from: 'from', to: 'to',});console.log(result);Verifica se esiste un file o una directory.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.exists({ path: 'path/to/file' });console.log(result);Ottiene l'URI di un file.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getUri({ path: 'path/to/file' });console.log(result);truncate
Sezione intitolata “truncate”Tronca un file a una dimensione specificata.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.truncate({ path: 'path/to/file' });getDirectories
Sezione intitolata “getDirectories”Ottiene tutte le directory note del file system.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getDirectories();console.log(result);getFreeDiskSpace
Sezione intitolata “getFreeDiskSpace”Ottiene lo spazio libero su disco in byte.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFreeDiskSpace();console.log(result);checkPermissions
Sezione intitolata “checkPermissions”Verifica lo stato attuale dei permessi per le operazioni sui file. Su Android, controlla i permessi per lo storage esterno. Su iOS e web, restituisce sempre ‘granted’ poiché non sono necessari permessi speciali.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.checkPermissions();console.log(result);requestPermissions
Sezione intitolata “requestPermissions”Richiedi i permessi per le operazioni sui file. Su Android, questa richiesta ottiene i permessi di archiviazione esterna necessari per accedere ai file al di fuori delle directory private dell'app. Su iOS e web, restituisce sempre 'granted' poiché non sono necessari permessi speciali.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestPermissions();console.log(result);Riferimento ai tipi
Sezione: “Type Reference”RequestFileSystemOptions
Sezione intitolata “RequestFileSystemOptions”Opzioni per la richiesta di un file system.
export interface RequestFileSystemOptions { /** The type of file system to request */ type: FileSystemType; /** Requested size in bytes (may not be enforced on all platforms) */ size?: number;}FileSystem
Sezione intitolata “FileSystem”Rappresenta un file system.
export interface FileSystem { /** The name of the file system */ name: string; /** The root directory of the file system */ root: DirectoryEntry;}ResolveURLOptions
Sezione intitolata “ResolveURLOptions”Opzioni per risolvere un URL in un entry.
export interface ResolveURLOptions { /** The URL to resolve (file:// or cdvfile://) */ url: string;}Rappresenta un entry di file o directory.
export interface Entry { /** True if this is a file */ isFile: boolean; /** True if this is a directory */ isDirectory: boolean; /** The name of the file or directory */ name: string; /** The full path relative to the filesystem root */ fullPath: string; /** The native file:// URI */ nativeURL: string;}GetFileOptions
Sezione intitolata “GetFileOptions”Opzioni per ottenere un file.
export interface GetFileOptions { /** Path to the file */ path: string; /** Base directory */ directory?: Directory; /** Options for creating the file */ options?: GetOptions;}FileEntry
Sezione intitolata “FileEntry”Rappresenta un entry di file.
export interface FileEntry extends Entry { isFile: true; isDirectory: false;}GetDirectoryOptions
Sezione intitolata “GetDirectoryOptions”Opzioni per ottenere una directory.
export interface GetDirectoryOptions { /** Path to the directory */ path: string; /** Base directory */ directory?: Directory; /** Options for creating the directory */ options?: GetOptions;}DirectoryEntry
Sezione intitolata “DirectoryEntry”Rappresenta una voce di directory.
export interface DirectoryEntry extends Entry { isFile: false; isDirectory: true;}ReadFileOptions
Sezione intitolata “ReadFileOptions”Opzioni per la lettura di un file.
export interface ReadFileOptions { /** Path to the file */ path: string; /** Base directory */ directory?: Directory; /** Encoding for text files (omit for binary/base64) */ encoding?: Encoding; /** Byte offset to start reading from (default: 0) */ offset?: number; /** Number of bytes to read (default: read to end of file) */ length?: number;}ReadFileResult
Sezione intitolata “ReadFileResult”Risultato della lettura di un file.
export interface ReadFileResult { /** File contents as string (text) or base64 (binary) */ data: string;}WriteFileOptions
Sezione intitolata “WriteFileOptions”Opzioni per scrivere un file.
export interface WriteFileOptions { /** Path to the file */ path: string; /** Base directory */ directory?: Directory; /** Data to write (string for text, base64 for binary) */ data: string; /** Encoding for text files */ encoding?: Encoding; /** If true, append to existing file instead of overwriting */ append?: boolean; /** Create intermediate directories if they don't exist */ recursive?: boolean; /** Byte position to start writing at (for random access writes). If not specified, writes from beginning or appends based on 'append' flag */ position?: number;}WriteFileResult
Sezione intitolata “WriteFileResult”Risultato dell'operazione di scrittura file.
export interface WriteFileResult { /** The URI of the written file */ uri: string;}Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal 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 per la funzionalità nativa in Using @capgo/capacitor-file, @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 @capgo/capacitor-uploader per i dettagli implementativi in @capgo/capacitor-uploader.