uni.chooseImage({
count: maxNum - filePaths.length,
extension: extension,
sizeType: ['compressed'], //限制只传压缩图,保证小于10Mb
success: res => {
},
fail: res => {
console.log('choose Image err:' + res)
}
})
- 发布:2021-09-14 09:58
- 更新:2021-09-17 11:47
- 阅读:1121
产品分类: HTML5+
HBuilderX版本号: 3.2.2
手机系统: iOS
手机系统版本号: IOS 14
手机厂商: 苹果
手机机型: Iphone6s
打包方式: 离线
操作步骤:
预期结果:
使用相册或相机,
使用相册或相机,
实际结果:
无任何反应, 无报错
无任何反应, 无报错
bug描述:
调用uni.chooseImage选择图片钩子不生效,毫无反应,控制台没报错,同样的代码在Android下正常运行。
uni.chooseImage({
count: maxNum - filePaths.length,
extension: extension,
sizeType: ['compressed'], //限制只传压缩图,保证小于10Mb
success: res => {
},
fail: res => {
console.log('choose Image err:' + res)
}
})
橘子桔子 (作者)
目前是在3.2.2,3.2.3版本使用过, 都是一样的, ios的safari种没反应,
2021-09-17 14:23
DCloud_UNI_GSQ
回复 橘子桔子: 检查一下你的 extension
2021-09-17 16:09
橘子桔子 (作者)
回复 DCloud_UNI_GSQ: 搞明白了,不是参数的问题, 我们项目需求,每个用户有资源上传的数量限制,在上传之前查询一次是否还能上传。 我把方法写在App.vue里, 用了new Promise()返回值, 之后如果还能上传就会调用uni.chooseImage(). 在这样的流程下就会导致choose Image无反应。
当时如果把检测是否还有剩余资源写在当前页面, 不用Promise就没问题。
应该算是个bug了,只会出现在ios的safari上的bug
2021-09-17 16:17
DCloud_UNI_GSQ
回复 橘子桔子: 苹果要求选择文件由用户直接触发(异步不可以),后续会分析一下这种情况能否判断出并触发失败。
2021-09-17 17:45
橘子桔子 (作者)
回复 DCloud_UNI_GSQ: 并非异步打开choose Image的。 调用的基本代码结构如下。
// app.vue
async checkData(){ new Promise() }
// page
async MainFn(){
await getApp().checkData():
await getApp().choosePhoto();
}
2021-09-17 17:57
DCloud_UNI_GSQ
回复 橘子桔子: 翻译一下 async 是什么意思
2021-09-22 14:58
哦嗯啊好吧行
回复 DCloud_UNI_GSQ: 哈哈哈哈哈哈
2022-02-22 11:02