Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses 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.
Installieren
Abschnitt „Installation“Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
npm install @capgo/capacitor-filenpx cap syncImportieren
Abschnitt mit dem Titel „Import“import { CapacitorFile } from '@capgo/capacitor-file';Quickstart
Abschnitt „Quick start“import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });console.log(result);Beispiel: resolveLocalFileSystemURL
Abschnitt mit dem Titel „Beispiel: 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);Beispiel: getFile
Abschnitt mit dem Titel „Beispiel: getFile“import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFile({ path: 'path/to/file' });console.log(result);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Berechtigungen: aufrufen
checkPermissions()dannrequestPermissions()bei Bedarf. - Listener: Handles beim Unmounten von Screens entfernen.
- Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“requestFileSystem
Abschnitt „requestFileSystem“Ein Dateisystem anfordern.
import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });console.log(result);resolveLocalFileSystemURL
Abschnitt „resolveLocalFileSystemURL“Eine Datei-URL in einen Entry auflösen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'https://example.com' });console.log(result);getFile
Abschnitt „getFile“Einen Datei-Entry abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFile({ path: 'path/to/file' });console.log(result);getDirectory
Abschnitt „getDirectory“Einen Directory-Eintrag abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getDirectory({ path: 'path/to/file' });console.log(result);readFile
Abschnitt „readFile“Eine Datei als Text oder Base64 lesen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readFile({ path: 'path/to/file' });console.log(result);readAsDataURL
Abschnitt „readAsDataURL“Eine Datei als Data URL lesen (Base64 mit MIME-Typ-Präfix).
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readAsDataURL({ path: 'path/to/file' });console.log(result);writeFile
Abschnitt „writeFile“Daten in eine Datei schreiben.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.writeFile({ path: 'path/to/file', data: 'data',});console.log(result);appendFile
Abschnitt mit dem Titel „appendFile“Daten an eine Datei anhängen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.appendFile({ path: 'path/to/file', data: 'data',});console.log(result);deleteFile
Abschnitt „deleteFile“Eine Datei löschen.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.deleteFile({ path: 'path/to/file' });Ein Verzeichnis erstellen.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.mkdir({ path: 'path/to/file' });Ein Verzeichnis löschen.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.rmdir({ path: 'path/to/file' });Verzeichnisinhalt lesen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readdir({ path: 'path/to/file' });console.log(result);Metadaten einer Datei oder eines Verzeichnisses abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.stat({ path: 'path/to/file' });console.log(result);getMetadata
Abschnitt „getMetadata“Metadaten zu einer Datei oder einem Verzeichnis abrufen. Alias für stat().
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getMetadata({ path: 'path/to/file' });console.log(result);Rename or move a file or directory.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.rename({ from: 'from', to: 'to',});move
Abschnitt „move“Verschiebt eine Datei oder ein Verzeichnis. Alias für rename().
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.move({ from: 'from', to: 'to',});copy
Abschnitt „copy“Datei oder Verzeichnis kopieren.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.copy({ from: 'from', to: 'to',});console.log(result);exists
Abschnitt „exists“Prüfen, ob eine Datei oder ein Verzeichnis existiert.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.exists({ path: 'path/to/file' });console.log(result);getUri
Abschnitt „getUri“Die URI einer Datei abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getUri({ path: 'path/to/file' });console.log(result);truncate
Abschnitt „truncate“Eine Datei auf eine bestimmte Größe kürzen.
import { CapacitorFile } from '@capgo/capacitor-file';
await CapacitorFile.truncate({ path: 'path/to/file' });getDirectories
Abschnitt „getDirectories“Alle bekannten Verzeichnisse des Dateisystems abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getDirectories();console.log(result);getFreeDiskSpace
Abschnitt „getFreeDiskSpace“Den freien Speicherplatz in Bytes abrufen.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFreeDiskSpace();console.log(result);checkPermissions
Abschnitt „checkPermissions“Den aktuellen Berechtigungsstatus für Dateioperaionen prüfen. Auf Android wird dies für die Berechtigungen des externen Speichers geprüft. Auf iOS und im Web wird immer „granted“ zurückgegeben, da keine speziellen Berechtigungen erforderlich sind.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.checkPermissions();console.log(result);requestPermissions
Abschnitt „requestPermissions“Berechtigungen für Dateizugriffe anfordern. Unter Android werden hiermit die Berechtigungen für den externen Speicher angefordert, um auf Dateien außerhalb der privaten App-Verzeichnisse zuzugreifen. Unter iOS und im Web wird immer „granted“ zurückgegeben, da keine speziellen Berechtigungen erforderlich sind.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestPermissions();console.log(result);Typreferenz
Abschnitt mit dem Titel „Typreferenz“RequestFileSystemOptions
Abschnitt mit dem Titel „RequestFileSystemOptions“Optionen zum Anfordern eines Dateisystems.
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
Abschnitt mit dem Titel „FileSystem“Repräsentiert ein Dateisystem.
export interface FileSystem { /** The name of the file system */ name: string; /** The root directory of the file system */ root: DirectoryEntry;}ResolveURLOptions
Abschnitt mit dem Titel „ResolveURLOptions“Optionen zum Auflösen einer URL in einen Eintrag.
export interface ResolveURLOptions { /** The URL to resolve (file:// or cdvfile://) */ url: string;}Entry
Abschnitt „Entry“Repräsentiert einen Datei- oder Verzeichniseintrag.
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
Abschnitt „GetFileOptions“Optionen zum Abrufen einer Datei.
export interface GetFileOptions { /** Path to the file */ path: string; /** Base directory */ directory?: Directory; /** Options for creating the file */ options?: GetOptions;}FileEntry
Abschnitt „FileEntry“Repräsentiert einen Dateieintrag.
export interface FileEntry extends Entry { isFile: true; isDirectory: false;}GetDirectoryOptions
Abschnitt „GetDirectoryOptions“Optionen zum Abrufen eines Verzeichnisses.
export interface GetDirectoryOptions { /** Path to the directory */ path: string; /** Base directory */ directory?: Directory; /** Options for creating the directory */ options?: GetOptions;}DirectoryEntry
Abschnitt mit dem Titel „DirectoryEntry“Stellt einen Verzeichniseintrag dar.
export interface DirectoryEntry extends Entry { isFile: false; isDirectory: true;}ReadFileOptions
Abschnitt mit dem Titel „ReadFileOptions“Optionen zum Lesen einer Datei.
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
Abschnitt mit dem Titel „ReadFileResult“Ergebnis des Lesens einer Datei.
export interface ReadFileResult { /** File contents as string (text) or base64 (binary) */ data: string;}WriteFileOptions
Abschnitt mit dem Titel „WriteFileOptions“Optionen zum Schreiben einer Datei.
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
Abschnitt mit dem Titel „WriteFileResult“Ergebnis des Schreibvorgangs einer Datei.
export interface WriteFileResult { /** The URI of the written file */ uri: string;}Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wird aus dem Plugin generiert src/definitions.ts. Führe den Sync erneut aus, wenn sich das öffentliche API upstream ändert.
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Speicher- und Dateiverwaltung zu planen, verbinde es mit @capgo/capacitor-file verwenden für die native Funktionalität bei der Nutzung von @capgo/capacitor-file, @capgo/capacitor-data-storage-sqlite für die Implementierungsdetails in @capgo/capacitor-data-storage-sqlite, Mit @capgo/capacitor-data-storage-sqlite für die native Funktionalität in „@capgo/capacitor-data-storage-sqlite verwenden“, @capgo/capacitor-file für das Implementierungsdetail in @capgo/capacitor-file und @capgo/capacitor-uploader für das Implementierungsdetail in @capgo/capacitor-uploader.