@capgo/capacitor-file-picker

中文文档
8.2.7发布于 2026/10/18MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4.7万

文件拾取器 Capacitor 插件 - 拾取文件、图像、视频和目录

中文使用文档
文档目录23 节
  1. *免费开始*
  2. 主要特点
  3. 为什么是选手?
  4. 文档
  5. 兼容性
  6. 安装
  7. 所需资源
  8. Android 媒体权限和谷歌播放审查
  9. API 密码
  10. pickFiles (...) (帮助)
  11. 选择图像(...)
  12. 选择视频(...)
  13. 选择媒体(...)
  14. 选择目录( )
  15. 转换HeicToJpeg(...)
  16. 复制文件(...)
  17. 检查( )
  18. 请求( )
  19. 添加收听器( “ picker Dismission” ,...)
  20. 删除所有收听器( )
  21. 获取 PluginVersion ()
  22. 接口
  23. 类型异名

@ capgo/ 电容器- 文件拾取器

让用户在iOS和Android上与本地取取取者一起取取文件,图像,视频和文件夹,并使用网页回落文件和媒体. 在 iOS 上转换 HEIC 相片并复制所选文件.

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-file-picker 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-file-picker到我的Capacitor应用上,并把它接上 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-file-picker for Capacitor apps

主要特点

  • 文件数字 : pickFiles() 选择任何类型的一个或多个文件.
  • 媒体数字 : pickImages(), (中文(简体) ), pickVideos() 财务报告和审定财务报表 pickMedia() 打开iOS和Android上的照片库取取取器。 他们在网络上打开按类型过滤的浏览器文件取取取器.
  • 文件夹数字 : pickDirectory() 返回 iOS 和 Android 上的目录.
  • HEIC和复制数字 : convertHeicToJpeg() 转换 iOS 上的照片 copyFile() 复制选中的文件到新位置.
  • 拾取活动(单位:千美元) pickerDismissed 听者加存储权限帮助者.
  • 平台: iOS,Android和Web. 互联网档案馆的存檔,存档日期2013-12-02. 目录采取,HEIC转换和文件副本仅是本地的.

为什么是选手?

一个完整的文件拾取器插件 完全本土支持 用于iOS和Android:

  • 选择文件 - 选择任何带有 MIME 类型过滤的文件类型
  • 选择图像 - 具有多选择的原生照片库拾取器
  • 选择视频 - 具有持续时间和维度的本地取相器
  • 选择媒体 - 图像和视频综合采集器
  • 选择目录 - 选择文件夹(Android/iOS)
  • HEIC 到 JPEG 数据 - 将 HEIC 图像转换为 JPEG( 仅iOS)
  • 复制文件 - 复制文件到新地点
  • 文件元数据 - 获得大小、尺寸、持续时间和更多

文档

这里有最完整的医生: https://capgo.app/docs/plugins/file-picker/ 互联网档案馆的存檔,存档日期2013-12-02

兼容性

插件版本电容兼容性维护
联合国联合国✅
页:1页:1应要求
页:1页:1❌
页:1页:1❌

说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-file-picker` plugin in my project.

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capgo/capacitor-file-picker
npx cap sync

所需资源

  • iOS: iOS 15.0+ (英语)
  • Android:API 24+ (Android 7.0+) (英语)
  • Web: 文件 API 支持的现代浏览器

Android 媒体权限和谷歌播放审查

此插件的设计围绕用户选择的拾取器流, 例如 pickFiles(), (中文(简体) ), pickImages(), (中文(简体) ), pickVideos(), (中文(简体) ), pickMedia(),以及 pickDirectory()。对于一次性或不频繁的文件、图像或视频选择,请使用这些取取器方法,并避免在您的应用程序显示中添加广泛的媒体权限.

仅允许 Google 播放 READ_MEDIA_IMAGES 财务报告和审定财务报表 READ_MEDIA_VIDEO 当照片或视频访问与您的应用程序的核心目的直接相关,而拾取器的替代品则不充分时. 不请求或保留这些权限,只允许用户选择文件、图像或视频.

在发布宣布这些权限的应用程序之前:

  • 确保应用的核心功能需要宽相片或视频库访问.
  • 准备好解释为什么Android Photo Picker或这个插件的取取器方法是不够的.
  • 如果应用程序只能与用户选择的文件合作,则删除宽媒体权限 .

如果 Google Play 审查以类似消息拒绝应用程序 Photo and Video Permissions policy: Permission use is not directly related to your app's core purpose中,删除宽媒体权限并依赖此插件的拾取 API .

对于应用程序来自 @capgo/capacitor-file,自定义媒体浏览器,或者另一个宽存储流,推荐的选项是: @capgo/capacitor-file-picker 与 pickImages(), (中文(简体) ), pickVideos(), (中文(简体) ), pickMedia(),或 pickFiles()。 。 。 .

见谷歌 图片和视频权限政策 目前审查所需经费.

API 密码

用于选择文件、图像、视频和目录的Capacitor File Picker插件接口.

pickFiles (...) (帮助)

pickFiles(options?: PickFilesOptions | undefined) => Promise<PickFilesResult>

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

参数类型说明
optionsPickFilesOptions- 选择文件的选项

回返情况: Promise<PickFilesResult>

自: 8.0.0 (单位:千美元)


选择图像(...)

pickImages(options?: PickMediaOptions | undefined) => Promise<PickFilesResult>

从画廊取出一个或多个图像. 仅限Android/iOS. 关于Android, limit 可用时由系统取相器执行 (Android 13+,或称Android 11-12并配有Google Play系统取相机扩展). 旧的Android版本可能允许选择比 limit; 结果是 切换到 limit 在他们返回之前.

参数类型说明
optionsPickMediaOptions- 选择图像的选项

回返情况: Promise<PickFilesResult>

自: 8.0.0 (单位:千美元)


选择视频(...)

pickVideos(options?: PickMediaOptions | undefined) => Promise<PickFilesResult>

从画廊取出一或多段视频. 仅限Android/iOS. 关于Android, limit 可用时由系统取相器执行 (Android 13+,或称Android 11-12并配有Google Play系统取相机扩展). 旧的Android版本可能允许选择比 limit; 结果是 切换到 limit 在他们返回之前.

参数类型说明
optionsPickMediaOptions- 选择视频

回返情况: Promise<PickFilesResult>

自: 8.0.0 (单位:千美元)


选择媒体(...)

pickMedia(options?: PickMediaOptions | undefined) => Promise<PickFilesResult>

从画廊中取出一个或多个图像或视频. 仅限Android/iOS.

参数类型说明
optionsPickMediaOptions- 选择媒体的选择

回返情况: Promise<PickFilesResult>

自: 8.0.0 (单位:千美元)


选择目录( )

pickDirectory() => Promise<PickDirectoryResult>

从设备中选择目录 . 仅限Android/iOS.

回返情况: Promise<PickDirectoryResult>

自: 8.0.0 (单位:千美元)


转换HeicToJpeg(...)

convertHeicToJpeg(options: ConvertHeicToJpegOptions) => Promise<ConvertHeicToJpegResult>

将 HEIC 图像转换为 JPEG 格式 . 仅iOS.

参数类型说明
optionsConvertHeicToJpegOptions- 转换方案

回返情况: Promise<ConvertHeicToJpegResult>

自: 8.0.0 (单位:千美元)


复制文件(...)

copyFile(options: CopyFileOptions) => Promise<void>

复制文件到新位置 .

参数类型说明
optionsCopyFileOptions复制文件的选项

自: 8.0.0 (单位:千美元)


检查( )

checkPermissions() => Promise<PermissionStatus>

请检查access-date=中的日期值 (帮助) 宽存储或媒体许可状态. 仅靠拾取器的流量不应设闸门 pickFiles(), (中文(简体) ), pickImages(), (中文(简体) ), pickVideos(),或 pickMedia() 在Android 13+的许可上. 仅限Android.

回返情况: Promise<PermissionStatus>

自: 8.0.0 (单位:千美元)


请求( )

requestPermissions() => Promise<PermissionStatus>

请求宽存储或媒体权限. 不请求或声明 READ_MEDIA_IMAGES 或者说 READ_MEDIA_VIDEO 仅用于 picker API. Google Play 只允许这些权限 当拾取器的替代品不足以满足核心应用功能时. 使用 @capgo/capacitor-file-picker 选取方法代替 用户选择的文件、图像或视频访问. 仅限Android.

回返情况: Promise<PermissionStatus>

自: 8.0.0 (单位:千美元)


添加收听器( “ picker Dismission” ,...)

addListener(eventName: 'pickerDismissed', listenerFunc: PickerDismissedListener) => Promise<PluginListenerHandle>

为拾取者开除事件增加一个收听器. 仅iOS.

参数类型说明
eventName'pickerDismissed'- 活动名称
listenerFuncPickerDismissedListener- 听众的功能

回返情况: Promise<PluginListenerHandle>

自: 8.0.0 (单位:千美元)


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .

自: 8.0.0 (单位:千美元)


获取 PluginVersion ()

getPluginVersion() => Promise<{ version: string; }>

获取本地 Capacitor 插件版本 .

回返情况: Promise<{ version: string; }>

自: 8.0.0 (单位:千美元)


接口

拾荒档案

选择文件的结果 .

Prop类型说明
filesPickedFile[]所选文件阵列

选中文件

代表一个选中的文件 .

Prop类型说明
namestring文件名称
pathstring文件的路径
mimeTypestring文件的 MIME 类型
sizenumber以字节计的文件大小
datastringBase64编码了文件的数据. 只有读取数据是真实存在的.
blobBlob文件的 Blob 实例 。 只有网络.
widthnumber以像素表示的宽度( 仅图像/ 视频)
heightnumber高度以像素计(仅图像/视频)
durationnumber持续时间以秒计(仅视频)
modifiedAtnumber最后修改的时间戳以毫秒计

PickFiles 选项

选择文件的选项 .

Prop类型说明默认
typesstring[]已接受的 MIME 类型或文件扩展名列表 。 在iOS上,只支持MIME类型. 例子:['image/*'],['application/pdf'],['.pdf','.doc']
limitnumber要选择的文件的最大数量 。 为无限设定为 0(平台默认值).0
readDataboolean是否将文件数据读取为 base64 。 注:读取大文件可能会引起内存问题.false

选择媒体选项

选取介质的选项(图像/视频).

Prop类型说明默认
limitnumber要选择的文件的最大数量 。 为无限设定为 0(平台默认值). 在Android上,当系统取相器可用时,平台执行这个限制(被设备最大封顶). 在更古老的Android版本上,拾取器可能不会执行限制;插件在必要时将返回的列表切入到这个值.0
readDataboolean是否将文件数据读取为 base64 。 注:读取大文件可能会引起内存问题.false
skipTranscodingbooleaniOS只:跳过视频的转码.false
orderedbooleaniOS 15+只:显示所订购的选取徽章.false

选取剪贴板

选择目录的结果 .

Prop类型说明
pathstring选定目录的路径

转换HeicToJpeg结果

HEIC到JPEG转换的结果.

Prop类型说明
pathstring转换后的 JPEG 文件的路径

转换HeicToJpeg 选项

将 HIC 转换为 JPEG 的选项 .

Prop类型说明默认
pathstring转换 HEIC 文件的路径
qualitynumberJPEG 的压缩质量( 0.0 - 1. 0) .0.9

复制文件选项

复制文件的选项 .

Prop类型说明默认
fromstring源文件路径
tostring目标文件路径
overwriteboolean是否覆盖目标存在 .false

权限状态

文件访问权限状态 .

Prop类型说明
readExternalStoragePermissionState是否获得广泛的外部存储或媒体许可. 返回用户所选择文件的Picker API在Android 13+上通常不需要这个.
accessMediaLocationPermissionState是否获准访问媒体位置

插件听筒

Prop类型
remove() => Promise<void>

类型异名

权限状态

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

拾取者解散听众

听者召回 捡取者解散事件.

(event: null): void

版本与发布记录

@capgo/capacitor-file-picker 共发布 21 个版本,首次发布于 2025/12/16;过去 12 个月发布了 21 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.2.7latest2026/10/1821 天前
8.2.62026/10/1525 天前
8.2.52026/10/1327 天前
8.2.42026/10/091 个月前
8.2.32026/10/081 个月前
8.2.22026/10/081 个月前

关于 @capgo/capacitor-file-picker 的常见问题

@capgo/capacitor-file-picker 是什么?

文件拾取器 Capacitor 插件 - 拾取文件、图像、视频和目录

如何安装 @capgo/capacitor-file-picker?

在项目目录运行 npm install @capgo/capacitor-file-picker,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capgo/capacitor-file-picker 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capgo/capacitor-file-picker 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capgo/capacitor-file-picker 可以商用吗?

@capgo/capacitor-file-picker 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-file-picker 的下载量有多少?

根据 npm 官方下载统计,@capgo/capacitor-file-picker 在 2026/10/09 – 2026/11/07 这 30 天内被下载 47,326 次,日均约 1,578 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capgo/capacitor-file-picker 还在维护吗?

最新版本 8.2.7 发布于 2026/10/18(21 天前);至今共发布 21 个版本,其中过去 12 个月发布了 21 个;首次发布于 2025/12/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。