更新记录
0.1.1(2026-06-09)
- 修复 Android 13 及以上图片选择可能返回无扩展名文件,导致类型识别失败的问题。
- 补充 Android、iOS、HarmonyOS 最低兼容版本说明。
- 补充插件市场发布文档。
平台兼容性
uni-app(4.11)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
鸿蒙插件版本 |
| - |
- |
- |
- |
- |
- |
5.0 |
0.1.1 |
14 |
0.1.1 |
12 |
0.1.1 |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(4.21)
| Chrome |
Safari |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
鸿蒙插件版本 |
微信小程序 |
| × |
× |
5.0 |
0.1.1 |
14 |
0.1.1 |
12 |
0.1.1 |
× |
wrc-chooseFile
拉起系统文件选择器的 UTS 插件,支持 Android、iOS、HarmonyOS。
import { chooseFile } from '@/uni_modules/wrc-chooseFile';
chooseFile(
{
count: 1,
extension: ['pdf'],
mimeTypes: ['application/pdf'],
title: '选择PDF'
},
(res) => {
if (res.status === '200') {
console.log(res.files[0].url);
}
}
);
参数
count: 选择数量,默认 1。
extension: 文件扩展名数组,例如 ['pdf']、['doc', 'docx']、['jpg', 'png']、['mp4']。
mimeTypes: MIME 类型数组,例如 ['application/pdf']、['image/*']、['video/*']。
title: Android 文件选择器标题。
requestPermissions: 可选,手动指定平台权限数组。不传时插件会按文件类型推导权限。
权限
- Android: 每次选择前检查运行时权限。Android 13 以下默认申请
READ_EXTERNAL_STORAGE,Android 13 及以上仅在选择图片、视频、音频时申请对应媒体权限;图片、视频会拉起图库类选择器,普通文档通过系统文件选择器授权。
- HarmonyOS: 每次选择前按文件类型检查并申请
READ_DOCUMENT、READ_IMAGEVIDEO、READ_AUDIO;图片、视频会拉起系统图库选择器。
- iOS: 图片使用系统相册选择器,视频使用
PHPickerViewController 相册选择器,普通文件使用系统文档选择器。由于 PHPickerViewController 需要 iOS 14+,插件 iOS 最低版本为 14.0。iOS 没有可预申请的通用文件权限,用户在系统选择器中确认文件即完成授权。
- 用户拒绝权限后,本次调用会再次申请一次;仍拒绝则返回
403。下次再次调用时,只要权限未允许,插件仍会重新发起权限申请。
兼容性
- Android: 最低 Android 5.0。已在 Android 自定义基座测试图片选择、PDF 文件选择和 MIME 类型补扩展名逻辑。
- iOS: 最低 iOS 14.0。原因是图片、视频选择使用
PHPickerViewController,该能力从 iOS 14 开始支持。
- HarmonyOS: 最低 HarmonyOS NEXT API 12。插件使用系统 Picker 与权限 API,需在鸿蒙自定义基座中运行。
- Vue: 支持 Vue 3,不支持 Vue 2。
返回
status: 200 成功,403 权限拒绝,500 失败,cancel 用户取消。
message: 状态说明。
files: 文件数组,包含 name、url、path、type、size、sizeMB。
data: 与 files 相同,兼容旧调用方式。