更新记录
1.0.0(2026-02-19)
当前版本还处在广泛测试阶段,请暂时不要购买源码版。确实需要的,请等我完善了。
平台兼容性
uni-app(4.87)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
- |
× |
× |
- |
- |
8.0 |
× |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
- |
× |
× |
uni-app x(4.87)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
- |
- |
- |
- |
Hi原生文件选择器
原生文件选择器插件,完美处理 Android 的 content:// URI,支持获取真实文件路径。
功能特性
- 原生实现,性能优异
- 完美处理
content:// URI
- 自动复制文件到应用私有目录
- 支持文件扩展名过滤
- 支持 MIME 类型过滤
- 完善的错误处理
使用方法
基础用法
uni.pickFile({
extension: ['.wgt'],
success: (res) => {
console.log('文件路径:', res.filePath);
console.log('文件名:', res.fileName);
console.log('文件大小:', res.fileSize);
},
fail: (err) => {
console.error('选择失败:', err.errMsg);
}
});
多扩展名过滤
uni.pickFile({
extension: ['.wgt', '.zip', '.apk'],
success: (res) => {
// res.filePath 是可直接使用的文件路径
}
});
MIME 类型过滤
uni.pickFile({
mimeType: ['application/zip', 'application/octet-stream'],
success: (res) => {
// 处理文件
}
});
API 文档
uni.pickFile(options)
选择文件
参数
| 参数名 |
类型 |
必填 |
说明 |
| extension |
Array<string> |
否 |
允许的文件扩展名,如 ['.wgt'] |
| mimeType |
Array<string> |
否 |
允许的 MIME 类型 |
| success |
Function |
否 |
选择成功的回调函数 |
| fail |
Function |
否 |
选择失败的回调函数 |
| complete |
Function |
否 |
接口调用结束的回调函数 |
success 回调参数
| 参数名 |
类型 |
说明 |
| filePath |
string |
文件绝对路径 |
| fileName |
string |
文件名 |
| fileSize |
number |
文件大小(字节) |
| mimeType |
string |
文件 MIME 类型 |
fail 回调错误码
| 错误码 |
说明 |
| 1300001 |
用户取消选择 |
| 1300002 |
文件读取失败 |
| 1300003 |
权限被拒绝 |
| 1300004 |
不支持的文件类型 |
注意事项
- 插件会在
context.getCacheDir()/picked_files/ 目录下保存复制的文件
- 建议在合适的时机清理该目录下的缓存文件
- Android 13+ 需要动态申请存储权限
平台支持
- ✅ Android 5.0+
- ❌ iOS(暂不支持)
- ❌ H5(暂不支持)
- ❌ 小程序(暂不支持)