跳过主要内容
@capgo/capacitor文件选择器 文件和存储 开源

文件选择器 Capacitor 插件

支持 iOS 和 Android 的原生文件选择器,包括 HEIC 转换

安装

bun add @capgo/capacitor-file-picker bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-file-picker
  • pnpm add @capgo/capacitor-file-picker
  • yarn add @capgo/capacitor-file-picker

指南

如何在Capacitor中使用文件选择器

使用@capgo/capacitor-file-picker

Capacitor文件选择器插件用于选择文件、图片、视频和目录。

安装

bun add @capgo/capacitor-file-picker
bunx cap sync

bunx cap sync 将插件的本地code复制到您的本地项目中。每次升级插件后,请重新运行它。

导入

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

API概览

方法 描述
pickFiles 从设备中选择一个或多个文件。
pickImages 从相册中选择一个或多个图片。仅限Android/iOS。
pickVideos 从相册中选择一个或多个视频。仅限Android/iOS。
pickMedia 从相册中选择一个或多个图片或视频。仅限Android/iOS。
pickDirectory 从设备中选择一个目录。仅限Android/iOS。
convertHeicToJpeg 将HEIC图片转换为JPEG格式。仅限iOS。
copyFile 复制文件到新位置。
checkPermissions 检查广泛存储或媒体权限状态。仅用于选择器流程的应用程序不应在 Android 13+ 上阻止此权限。 pickFiles(), pickImages(), pickVideos(), 或 pickMedia() 在 Android 13+ 上请求广泛存储或媒体权限。不要请求或声明
requestPermissions 或 READ_MEDIA_IMAGES or READ_MEDIA_VIDEO 选择器方法来访问用户选择的文件、图像或视频。Android only。 @capgo/capacitor-file-picker 示例

从设备中选择一个或多个文件。

pickFiles()

从图库中选择一个或多个图像。Android/iOS only。

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()

从图库中选择一个或多个视频。Android/iOS only。

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

const result = await CapgoFilePicker.pickImages({
  limit: 10,
  readData: false
});
console.log('Picked images:', result.files);

pickVideos()

从图库中选择一个或多个图像或视频。Android/iOS only。

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

const result = await CapgoFilePicker.pickVideos({
  limit: 3,
  skipTranscoding: true
});
console.log('Picked videos:', result.files);

pickMedia()

仅在选择器替代品不足以为核心应用程序功能提供支持时,Google Play 才允许这些权限。使用选择器方法来访问用户选择的文件、图像或视频。Android only.

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

const result = await CapgoFilePicker.pickMedia({
  limit: 5,
  readData: true
});
console.log('Picked media:', result.files);

pickDirectory()

选择设备上的目录。仅限 Android/iOS。

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

const result = await CapgoFilePicker.pickDirectory();
console.log('Selected directory:', result.path);

convertHeicToJpeg()

将 HEIC 图像转换为 JPEG 格式。仅限 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);

上表列出了 9 个核心方法。请参阅每个方法的详细文档,包括监听器和版本帮助。每个方法的完整契约在以下仓库中有详细说明。 GitHub 仓库.

监听事件

addListener 返回句柄。调用 handle.remove() 当屏幕卸载时,或者 CapgoFilePicker.removeAllListeners() 清除所有监听器。

完整参考

继续使用 @capgo/capacitor-file-picker

如果您正在使用 使用 @capgo/capacitor-file-picker 以规划存储和文件处理,连接它与 @capgo/capacitor-文件选择器 查看 @capgo/capacitor-file-picker 获取开始 查看 Getting Started @capgo/capacitor-sqlite-数据存储 查看 @capgo/capacitor-data-storage-sqlite 使用 @capgo/capacitor-data-storage-sqlite 查看 Using @capgo/capacitor-data-storage-sqlite @capgo/capacitor文件 关于@capgo/capacitor文件的实现细节。

常见问题

文件选择器插件FAQ

如何在Capacitor应用中安装文件选择器插件?

运行"bun add @capgo/capacitor-file-picker" (或 "npm install @capgo/capacitor-file-picker"),然后运行 "bunx cap sync" 以便 iOS 和 Android 项目捕获本地 code。从 "@capgo/capacitor-file-picker" 导入您的应用 code。

@capgo/capacitor-file-picker 与 React、Vue 和 Angular 是否兼容?

是的。文件选择器是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 Web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

哪个 Capacitor 版本支持 @capgo/capacitor-file-picker?

Capgo 插件遵循 Capacitor 的主要版本:使用与您的 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

@capgo/capacitor-file-picker 是否免费和开源?

是的。源 code 公开在 GitHub 上,https://github.com/Cap-go/capacitor-file-picker/,并且该包可以从 npm 免费安装。欢迎 bug 报告和 pull 请求。

是否可以在不经过 App Store 审核的情况下更新使用文件选择器的 code?

安装或升级插件会更改本地 code,因此需要新建一个商店构建。之后,JavaScript、HTML 和 CSS 的更改可以立即通过 Capgo 实时更新发布。

不必等待应用程序审查就可以将文件选择器更改推送到商店

一旦插件在您的商店构建中,Capgo即刻将您的JavaScript、HTML和CSS更改推送给用户。

开始使用Capgo