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-picker`
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-picker/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-picker` 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-file-pickernpx cap syncImportieren
Abschnitt mit dem Titel „Import“import { CapgoFilePicker } from '@capgo/capacitor-file-picker';Quickstart
Abschnitt „Quick start“import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickFiles({ types: ['application/pdf', 'image/*'], limit: 5, readData: false});console.log('Picked files:', result.files);Beispiel: pickImages
Abschnitt mit dem Titel „Beispiel: pickImages“import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickImages({ limit: 10, readData: false});console.log('Picked images:', result.files);Beispiel: pickVideos
Abschnitt mit dem Titel „Beispiel: pickVideos“import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickVideos({ limit: 3, skipTranscoding: true});console.log('Picked videos:', result.files);Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Berechtigungen: aufrufen
checkPermissions()dannrequestPermissions()bei Bedarf. - Listener: Handles entfernen, wenn Screens unmounted werden.
- Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
API Übersicht
Abschnitt „API Übersicht“pickFiles
Abschnitt „pickFiles“Wähle eine oder mehrere Dateien vom Gerät aus.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickFiles({ types: ['application/pdf', 'image/*'], limit: 5, readData: false});console.log('Picked files:', result.files);pickImages
Abschnitt „pickImages“Wähle eine oder mehrere Bilder aus der Galerie. Nur Android/iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickImages({ limit: 10, readData: false});console.log('Picked images:', result.files);pickVideos
Abschnitt „pickVideos“Wähle ein oder mehrere Videos aus der Galerie. Nur Android/iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickVideos({ limit: 3, skipTranscoding: true});console.log('Picked videos:', result.files);pickMedia
Abschnitt „pickMedia“Wähle ein oder mehrere Bilder oder Videos aus der Galerie. Nur Android/iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickMedia({ limit: 5, readData: true});console.log('Picked media:', result.files);pickDirectory
Abschnitt „pickDirectory“Wähle ein Verzeichnis auf dem Gerät aus. Nur Android/iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickDirectory();console.log('Selected directory:', result.path);convertHeicToJpeg
Abschnitt „convertHeicToJpeg“Konvertiere ein HEIC-Bild in das JPEG-Format. Nur iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.convertHeicToJpeg({ path: '/path/to/image.heic', quality: 0.9});console.log('Converted file:', result.path);copyFile
Abschnitt „copyFile“Eine Datei an einen neuen Speicherort kopieren.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
await CapgoFilePicker.copyFile({ from: '/source/file.pdf', to: '/destination/file.pdf', overwrite: true});checkPermissions
Abschnitt „checkPermissions“Berechtigungen zum Lesen von Dateien prüfen. Nur Android.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const status = await CapgoFilePicker.checkPermissions();console.log('Read permission:', status.readExternalStorage);requestPermissions
Abschnitt „requestPermissions“Berechtigungen zum Lesen von Dateien anfordern. Nur Android.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const status = await CapgoFilePicker.requestPermissions();if (status.readExternalStorage === 'granted') { console.log('Permission granted');}Typreferenz
Abschnitt mit dem Titel „Typreferenz“PickFilesOptions
Abschnitt „PickFilesOptions“Optionen zum Auswählen von Dateien.
export interface PickFilesOptions { /** * List of accepted MIME types or file extensions. * On iOS, only MIME types are supported. * Examples: ['image/*'], ['application/pdf'], ['.pdf', '.doc'] */ types?: string[]; /** * Maximum number of files to pick. * Set to 0 for unlimited (platform default). * @default 0 */ limit?: number; /** * Whether to read the file data as base64. * Note: Reading large files may cause memory issues. * @default false */ readData?: boolean;}PickFilesResult
Abschnitt „PickFilesResult“Ergebnis der Dateiauswahl.
export interface PickFilesResult { /** Array of picked files */ files: PickedFile[];}PickMediaOptions
Abschnitt „PickMediaOptions“Optionen zum Auswählen von Medien (Bilder/Videos).
export interface PickMediaOptions { /** * Maximum number of files to pick. * Set to 0 for unlimited (platform default). * @default 0 */ limit?: number; /** * Whether to read the file data as base64. * Note: Reading large files may cause memory issues. * @default false */ readData?: boolean; /** * iOS only: Skip transcoding of videos. * @default false */ skipTranscoding?: boolean; /** * iOS 15+ only: Show ordered selection badges. * @default false */ ordered?: boolean;}PickDirectoryResult
Abschnitt „PickDirectoryResult“Ergebnis der Verzeichnisauswahl.
export interface PickDirectoryResult { /** The path to the selected directory */ path: string;}ConvertHeicToJpegOptions
Abschnitt „ConvertHeicToJpegOptions“Optionen für die Konvertierung von HEIC zu JPEG.
export interface ConvertHeicToJpegOptions { /** The path to the HEIC file to convert */ path: string; /** * The compression quality for JPEG (0.0 - 1.0). * @default 0.9 */ quality?: number;}ConvertHeicToJpegResult
Abschnitt „ConvertHeicToJpegResult“Ergebnis der HEIC-zu-JPEG-Konvertierung.
export interface ConvertHeicToJpegResult { /** The path to the converted JPEG file */ path: string;}CopyFileOptions
Abschnitt „CopyFileOptions“Optionen zum Kopieren einer Datei.
export interface CopyFileOptions { /** Source file path */ from: string; /** Destination file path */ to: string; /** * Whether to overwrite if destination exists. * @default false */ overwrite?: boolean;}PermissionStatus
Abschnitt „PermissionStatus“Berechtigungsstatus für den Dateizugriff.
export interface PermissionStatus { /** Whether permission to read media files is granted */ readExternalStorage: PermissionState; /** Whether permission to access media location is granted */ accessMediaLocation?: PermissionState;}PickerDismissedListener
Abschnitt: „PickerDismissedListener“Listener-Callback für das Picker-Dismissed-Event.
export type PickerDismissedListener = (event: null) => void;PickedFile
Abschnitt: „PickedFile“Repräsentiert eine ausgewählte Datei.
export interface PickedFile { /** The name of the file */ name: string; /** The path to the file */ path?: string; /** The MIME type of the file */ mimeType: string; /** The size of the file in bytes */ size: number; /** * The base64 encoded data of the file. * Only present if readData was true. */ data?: string; /** * The Blob instance of the file. * Web only. */ blob?: Blob; /** Width in pixels (images/videos only) */ width?: number; /** Height in pixels (images/videos only) */ height?: number; /** Duration in seconds (videos only) */ duration?: number; /** Last modified timestamp in milliseconds */ modifiedAt?: number;}PermissionState
Abschnitt: „PermissionState“Werte für den Berechtigungsstatus.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Source of Truth
Abschnitt mit dem Titel „Source of Truth“Diese Seite wurde aus dem Plugin-generated src/definitions.ts. Führe den Sync erneut aus, wenn sich der ö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 Dateiverarbeitung zu planen, verbinde es mit Verwendung von @capgo/capacitor-file-picker für die native Funktion in Verwendung von @capgo/capacitor-file-picker, @capgo/capacitor-data-storage-sqlite für das Implementierungsdetail in @capgo/capacitor-data-storage-sqlite, Verwendung von @capgo/capacitor-data-storage-sqlite für die native Funktion in Verwendung von @capgo/capacitor-data-storage-sqlite, @capgo/capacitor-file für die Implementierungsdetails in @capgo/capacitor-file, und Verwendung von @capgo/capacitor-file für die native Funktionalität bei der Verwendung von @capgo/capacitor-file.