uni-app中uni.chooseFile在安卓手机上多选上传时success、fail、complete回调均不打印信息
uni-app中uni.chooseFile在安卓手机上多选上传时success、fail、complete回调均不打印信息
操作步骤:
- 点击上传
- 打开手机文件管理
- 多选图片
- 点击选择返回项目页面没有任何反应
预期结果:
- 点击上传
- 打开手机文件管理
- 多选图片
- 上传成功
实际结果:
- 没有反应
bug描述:
uni.chooseFile这个方法 在安卓平台 success fail complete都不打印信息 可以多选文件 但是点击选择 上传之后没有任何反应 华为和苹果是正常的
截图
项目 | 信息 |
---|---|
产品分类 | uniapp/H5 |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | window10 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.36 |
浏览器平台 | Chrome |
浏览器版本 | 安卓手机浏览器 |
项目创建方式 | HBuilderX |
App下载地址或H5网址 | http://39.98.115.117:19895 |
更多关于uni-app中uni.chooseFile在安卓手机上多选上传时success、fail、complete回调均不打印信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app中uni.chooseFile在安卓手机上多选上传时success、fail、complete回调均不打印信息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在uni-app中,uni.chooseFile
方法用于从系统文件选择器中选取文件,并支持多选功能。如果在安卓手机上使用多选上传时,success
、fail
、complete
回调均不打印信息,这可能是由于多种原因导致的,包括权限问题、调用方式错误或代码逻辑问题等。下面提供一个标准的调用uni.chooseFile
的代码示例,并附带一些可能的调试步骤,帮助你排查问题。
代码示例
// 调用uni.chooseFile进行文件选择
uni.chooseFile({
count: 9, // 允许选择文件的数量,默认为9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log('文件选择成功', res);
// res.tempFiles 是文件列表
res.tempFiles.forEach((file) => {
console.log('文件路径:', file.path);
});
},
fail: function (err) {
console.error('文件选择失败', err);
},
complete: function (result) {
console.log('文件选择完成', result);
}
});
调试步骤
-
检查权限: 确保你的应用已经请求并获得了必要的文件访问权限。在AndroidManifest.xml中检查是否有如下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-
检查调用环境: 确保调用
uni.chooseFile
的代码是在用户交互事件(如按钮点击)中执行的,因为某些平台可能限制非用户触发的文件选择。 -
查看控制台输出: 使用开发者工具或直接在设备上查看控制台输出,确认是否有其他错误信息或警告。
-
版本兼容性: 检查uni-app和uni-ui等库的版本是否兼容当前的开发环境,有时版本更新会带来一些变动。
-
简化测试: 尝试简化代码,只保留
uni.chooseFile
的调用,并逐步添加其他逻辑,以确定问题所在。
通过上述步骤,你应该能够定位到问题的原因,并进行相应的修复。如果问题依旧存在,建议查看uni-app的官方文档或社区论坛,看看是否有其他开发者遇到并解决了类似的问题。