w***@163.com
w***@163.com
  • 发布:2025-11-26 16:45
  • 更新:2025-11-27 10:40
  • 阅读:135

【报Bug】uni.chooseImage方法在H5上,部分安卓手机升级系统后使用拍照的形式拍照上传图片无法得到图片内容

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 4.85

浏览器平台: 手机系统浏览器

浏览器版本: vivo 16 SDK:36

项目创建方式: HBuilderX

示例代码:

console.log('准备去拍照')
try {
uni.chooseImage({
count: 1, //默认9
sizeType: [ 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
},
fail:function (failres) {
console.log('failres',failres);
},
complete:function (completeres) {
console.log('completeres',completeres);
},
});

}catch (error) {
console.error('拍照过程出错:', error);
// 需要将错误传递给回调函数或抛出
throw error;
}

操作步骤:

console.log('准备去拍照')
try {
uni.chooseImage({
count: 1, //默认9
sizeType: [ 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
},
fail:function (failres) {
console.log('failres',failres);
},
complete:function (completeres) {
console.log('completeres',completeres);
},
});

}catch (error) {
console.error('拍照过程出错:', error);
// 需要将错误传递给回调函数或抛出
throw error;
}

预期结果:

升级过手机系统的手机可以通过uni.chooseImage方法获取到图片数据

实际结果:

app内嵌套H5页面,使用uni.chooseImage方法拍照,vivo X8s型号(不排除其他型号手机没问题)手机在升级手机系统后点击拍照,回调方法无返回任何数据,try 不抛出错误

bug描述:

app内嵌套H5页面,使用uni.chooseImage方法拍照,vivo X8s型号(不排除其他型号手机没问题)手机在升级手机系统后点击拍照,success,fail,complete回调方法无返回任何数据,try 不抛出错误

2025-11-26 16:45 负责人:无 分享
已邀请:
jgj_app

jgj_app

所有打印都没有?

  • w***@163.com (作者)

    没有 只有最外层的准备开始拍照有打印

    2025-11-26 16:51

  • w***@163.com (作者)

    手机操作系统为15 SDK:35时正常使用,升级到16 SDK:36后这个api无反应

    2025-11-26 16:55

w***@163.com

w***@163.com (作者) - 哈哈

补充: 手机操作系统为15 SDK:35时正常使用,升级到16 SDK:36后uni.chooseImage无反应

  • jgj_app

    升级后 Android 是 16 或者以上的了么

    2025-11-26 17:01

  • w***@163.com (作者)

    是的

    2025-11-26 17:03

jgj_app

jgj_app

这个是16了么

  • w***@163.com (作者)

    这个不是,这个版本的可以拍没有问题

    2025-11-27 11:00

jgj_app

jgj_app

"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\" />",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\" />",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />",
"<uses-permission android:name=\"android.permission.READ_MEDIA_IMAGES\" />" // Android 13+ 需要
] 这几个权限也配置了么

  • w***@163.com (作者)

    加了这几个权限配置,新建了空白项目,目前使用oppox8s手机可以稳定复现,手机操作系统升级到16,H5使用uni.chooseImage拍照在浏览器可以拍成功,使用web-view嵌套到app里面拍照获取不到文件,16之前的版本可以成功获取图片文件,小米的手机升级到16可以获取文件

    2025-11-27 11:00

  • jgj_app

    回复 w***@163.com: 现在能打印出来么?能的话,打印下看下提示什么

    2025-11-27 11:04

  • w***@163.com (作者)

    回复 jgj_app: 还是没打印

    2025-11-27 13:09

  • jgj_app

    回复 w***@163.com: 你在 demo ,不用 webview 试试可以不

    2025-11-27 13:13

  • w***@163.com (作者)

    回复 jgj_app: app直接写的拍照是可以的 我们的app不是用的uni-app

    2025-11-27 13:22

  • w***@163.com (作者)

    回复 jgj_app: 不用webbiew直接在浏览器打开H5也可以

    2025-11-27 13:23

DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

参考上面回复,你也明确下,这个问题只和系统有关吗。新建空白工程是否可以复现问题。如果锁定特性的版本、特定的机型,可也可以一并提供。如果确实无法修复,也可以尝试webview 通信来解决

  • w***@163.com (作者)

    根据上面的回复加了权限配置,新建了空白项目,目前使用oppox8s手机可以稳定复现,手机操作系统升级到16,H5使用uni.chooseImage拍照在浏览器可以拍成功,使用web-view嵌套到app里面拍照获取不到文件,16之前的版本可以成功获取图片文件,小米的手机升级到16可以获取文件

    2025-11-27 10:43

w***@163.com

w***@163.com (作者) - 哈哈

可以稳定复现的手机型号oppox8s

要回复问题请先登录注册