Empezar
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa 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-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.
Instalar
Sección titulada “Instalar”Puedes utilizar nuestra configuración asistida por IA para instalar el complemento. Agrega las Capgo habilidades a tu herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utiliza el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-file-picker` plugin in my project.Si prefieres la configuración Manual, instala el complemento ejecutando los siguientes comandos y sigue las instrucciones específicas del plataforma a continuación:
bun add @capgo/capacitor-file-pickerbunx cap syncImportar
Sección titulada “Importar”import { CapgoFilePicker } from '@capgo/capacitor-file-picker';API Resumen
Sección titulada “API Resumen”Seleccionar uno o más archivos del dispositivo.
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
Sección titulada “seleccionar imágenes”Seleccionar uno o más imágenes de la galería. Solo para 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
Sección titulada “pickVideos”Elige uno o más videos de la galería. Solo para 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
Sección titulada “pickMedia”Elige uno o más imágenes o videos de la galería. Solo para 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
Sección titulada “pickDirectory”Elige un directorio del dispositivo. Solo para Android/iOS.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const result = await CapgoFilePicker.pickDirectory();console.log('Selected directory:', result.path);convertHeicToJpeg
Sección titulada “convertHeicToJpeg”Convierte una imagen HEIC a formato JPEG. Solo para 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
Sección titulada “copyFile”Copiar un archivo a una nueva ubicación.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
await CapgoFilePicker.copyFile({ from: '/source/file.pdf', to: '/destination/file.pdf', overwrite: true});checkPermissions
Sección titulada “checkPermissions”Verificar permisos para leer archivos. Solo para Android.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const status = await CapgoFilePicker.checkPermissions();console.log('Read permission:', status.readExternalStorage);requestPermissions
Sección titulada “requestPermissions”Solicitar permisos para leer archivos. Solo para Android.
import { CapgoFilePicker } from '@capgo/capacitor-file-picker';
const status = await CapgoFilePicker.requestPermissions();if (status.readExternalStorage === 'granted') { console.log('Permission granted');}Referencia de tipos
Sección titulada “Referencia de tipos”PickFilesOptions
Sección titulada “Opciones de selección de archivos”Opciones para seleccionar archivos.
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
Sección titulada “PickFilesResult”Resultado de seleccionar archivos.
export interface PickFilesResult { /** Array of picked files */ files: PickedFile[];}PickMediaOptions
Sección titulada “PickMediaOptions”Opciones para seleccionar medios (imágenes/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
Sección titulada “PickDirectoryResult”Resultado de seleccionar un directorio.
export interface PickDirectoryResult { /** The path to the selected directory */ path: string;}ConvertHeicToJpegOptions
Sección titulada “ConvertHeicToJpegOptions”Opciones para convertir HEIC a 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
Sección titulada “ConvertHeicToJpegResult”Resultado de la conversión de HEIC a JPEG.
export interface ConvertHeicToJpegResult { /** The path to the converted JPEG file */ path: string;}CopyFileOptions
Sección titulada “CopyFileOptions”Opciones para copiar un archivo.
export interface CopyFileOptions { /** Source file path */ from: string; /** Destination file path */ to: string; /** * Whether to overwrite if destination exists. * @default false */ overwrite?: boolean;}PermissionStatus
Sección titulada “PermissionStatus”Estado de permiso para acceso a archivo.
export interface PermissionStatus { /** Whether permission to read media files is granted */ readExternalStorage: PermissionState; /** Whether permission to access media location is granted */ accessMediaLocation?: PermissionState;}PickerDismissedListener
Sección titulada “PickerDismissedListener”Listener callback para el evento de dismiss del picker.
export type PickerDismissedListener = (event: null) => void;PickedFile
Sección titulada “Archivo seleccionado”Representa un archivo seleccionado.
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
Sección titulada “Estado de permiso”Valores del estado de permiso.
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied';Fuente de Verdad
Sección titulada “Fuente de Verdad”Esta página se genera a partir del plugin’s src/definitions.ts. Re-ejecutar la sincronización cuando el público API cambia en la fuente.
Sigue adelante desde Inicio rápido
Título de sección “Sigue adelante desde Inicio rápido”Si estás utilizando Inicio rápido para planificar el almacenamiento y el manejo de archivos, conecta con Usando @capgo/capacitor-selector-de-archivos para la capacidad nativa en Usando @capgo/capacitor-selector-de-archivos, @capgo/capacitor-almacenamiento-de-datos-sqlite para el detalle de implementación en @capgo/capacitor-almacenamiento-de-datos-sqlite, Usando @capgo/capacitor-almacenamiento-de-datos-sqlite para la capacidad nativa en Usando @capgo/capacitor-almacenamiento-de-datos-sqlite, @capgo/capacitor-selector-de-archivos para el detalle de implementación en @capgo/capacitor-archivo, y Usando @capgo/capacitor-archivo para la capacidad nativa en Usando @capgo/capacitor-archivo.