@ capgo/ 电容器- 文件拾取器
让用户在iOS和Android上与本地取取取者一起取取文件,图像,视频和文件夹,并使用网页回落文件和媒体. 在 iOS 上转换 HEIC 相片并复制所选文件.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-file-picker在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-file-picker到我的Capacitor应用上,并把它接上 代理设置指南 • 妇女 主机磁共振
主要特点
- 文件数字 :
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 密码
pickFiles(...)pickImages(...)pickVideos(...)pickMedia(...)pickDirectory()convertHeicToJpeg(...)copyFile(...)checkPermissions()requestPermissions()addListener('pickerDismissed', ...)removeAllListeners()getPluginVersion()- 接口
- 类型异名
用于选择文件、图像、视频和目录的Capacitor File Picker插件接口.
pickFiles (...) (帮助)
pickFiles(options?: PickFilesOptions | undefined) => Promise<PickFilesResult>
从设备中选择一个或多个文件 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | PickFilesOptions | - 选择文件的选项 |
回返情况: 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 在他们返回之前.
| 参数 | 类型 | 说明 |
|---|---|---|
options | PickMediaOptions | - 选择图像的选项 |
回返情况: 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 在他们返回之前.
| 参数 | 类型 | 说明 |
|---|---|---|
options | PickMediaOptions | - 选择视频 |
回返情况: Promise<PickFilesResult>
自: 8.0.0 (单位:千美元)
选择媒体(...)
pickMedia(options?: PickMediaOptions | undefined) => Promise<PickFilesResult>
从画廊中取出一个或多个图像或视频. 仅限Android/iOS.
| 参数 | 类型 | 说明 |
|---|---|---|
options | PickMediaOptions | - 选择媒体的选择 |
回返情况: Promise<PickFilesResult>
自: 8.0.0 (单位:千美元)
选择目录( )
pickDirectory() => Promise<PickDirectoryResult>
从设备中选择目录 . 仅限Android/iOS.
回返情况: Promise<PickDirectoryResult>
自: 8.0.0 (单位:千美元)
转换HeicToJpeg(...)
convertHeicToJpeg(options: ConvertHeicToJpegOptions) => Promise<ConvertHeicToJpegResult>
将 HEIC 图像转换为 JPEG 格式 . 仅iOS.
| 参数 | 类型 | 说明 |
|---|---|---|
options | ConvertHeicToJpegOptions | - 转换方案 |
回返情况: Promise<ConvertHeicToJpegResult>
自: 8.0.0 (单位:千美元)
复制文件(...)
copyFile(options: CopyFileOptions) => Promise<void>
复制文件到新位置 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | CopyFileOptions | 复制文件的选项 |
自: 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' | - 活动名称 |
listenerFunc | PickerDismissedListener | - 听众的功能 |
回返情况: Promise<PluginListenerHandle>
自: 8.0.0 (单位:千美元)
删除所有收听器( )
removeAllListeners() => Promise<void>
删除此插件的所有听众 .
自: 8.0.0 (单位:千美元)
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地 Capacitor 插件版本 .
回返情况: Promise<{ version: string; }>
自: 8.0.0 (单位:千美元)
接口
拾荒档案
选择文件的结果 .
| Prop | 类型 | 说明 |
|---|---|---|
files | PickedFile[] | 所选文件阵列 |
选中文件
代表一个选中的文件 .
| Prop | 类型 | 说明 |
|---|---|---|
name | string | 文件名称 |
path | string | 文件的路径 |
mimeType | string | 文件的 MIME 类型 |
size | number | 以字节计的文件大小 |
data | string | Base64编码了文件的数据. 只有读取数据是真实存在的. |
blob | Blob | 文件的 Blob 实例 。 只有网络. |
width | number | 以像素表示的宽度( 仅图像/ 视频) |
height | number | 高度以像素计(仅图像/视频) |
duration | number | 持续时间以秒计(仅视频) |
modifiedAt | number | 最后修改的时间戳以毫秒计 |
PickFiles 选项
选择文件的选项 .
| Prop | 类型 | 说明 | 默认 |
|---|---|---|---|
types | string[] | 已接受的 MIME 类型或文件扩展名列表 。 在iOS上,只支持MIME类型. 例子:['image/*'],['application/pdf'],['.pdf','.doc'] | |
limit | number | 要选择的文件的最大数量 。 为无限设定为 0(平台默认值). | 0 |
readData | boolean | 是否将文件数据读取为 base64 。 注:读取大文件可能会引起内存问题. | false |
选择媒体选项
选取介质的选项(图像/视频).
| Prop | 类型 | 说明 | 默认 |
|---|---|---|---|
limit | number | 要选择的文件的最大数量 。 为无限设定为 0(平台默认值). 在Android上,当系统取相器可用时,平台执行这个限制(被设备最大封顶). 在更古老的Android版本上,拾取器可能不会执行限制;插件在必要时将返回的列表切入到这个值. | 0 |
readData | boolean | 是否将文件数据读取为 base64 。 注:读取大文件可能会引起内存问题. | false |
skipTranscoding | boolean | iOS只:跳过视频的转码. | false |
ordered | boolean | iOS 15+只:显示所订购的选取徽章. | false |
选取剪贴板
选择目录的结果 .
| Prop | 类型 | 说明 |
|---|---|---|
path | string | 选定目录的路径 |
转换HeicToJpeg结果
HEIC到JPEG转换的结果.
| Prop | 类型 | 说明 |
|---|---|---|
path | string | 转换后的 JPEG 文件的路径 |
转换HeicToJpeg 选项
将 HIC 转换为 JPEG 的选项 .
| Prop | 类型 | 说明 | 默认 |
|---|---|---|---|
path | string | 转换 HEIC 文件的路径 | |
quality | number | JPEG 的压缩质量( 0.0 - 1. 0) . | 0.9 |
复制文件选项
复制文件的选项 .
| Prop | 类型 | 说明 | 默认 |
|---|---|---|---|
from | string | 源文件路径 | |
to | string | 目标文件路径 | |
overwrite | boolean | 是否覆盖目标存在 . | false |
权限状态
文件访问权限状态 .
| Prop | 类型 | 说明 |
|---|---|---|
readExternalStorage | PermissionState | 是否获得广泛的外部存储或媒体许可. 返回用户所选择文件的Picker API在Android 13+上通常不需要这个. |
accessMediaLocation | PermissionState | 是否获准访问媒体位置 |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
类型异名
权限状态
'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'
拾取者解散听众
听者召回 捡取者解散事件.
(event: null): void