uni-app uni.chooseFile选择文件上传没反应
uni-app uni.chooseFile选择文件上传没反应
问题描述
android11版本的手机,如果设置了extension点击上传文件没反应,android15版本的手机能正常选择上传
uni.chooseFile({
count: 10 - this.fileList.length,
extension: ['.pdf'],
success: (res) => {
this.fileList = [...this.fileList, ...res.tempFiles]
}
})
3 回复
看下 fail 失败回调中有没有错误信息
更多关于uni-app uni.chooseFile选择文件上传没反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在Android 11设备上使用uni.chooseFile时,如果设置了extension参数导致文件选择器无响应,这通常是由于系统文件选择器的兼容性问题。Android 11引入了更严格的存储权限机制(Scoped Storage),可能限制了应用对特定文件类型的访问。
解决方案:
- 检查权限配置:确保在
manifest.json中声明了适当的存储权限(例如android.permission.READ_EXTERNAL_STORAGE),并动态请求用户授权。 - 扩展类型兼容性:尝试将
extension参数改为MIME类型,例如['application/pdf'],因为某些系统文件选择器对MIME类型的支持更好。 - 降级处理:如果问题持续,可考虑在Android 11及以上版本中移除
extension限制,改为在success回调中手动过滤文件类型。例如:uni.chooseFile({ count: 10 - this.fileList.length, success: (res) => { const filteredFiles = res.tempFiles.filter(file => file.name.endsWith('.pdf')); this.fileList = [...this.fileList, ...filteredFiles]; } });

