uni-app 华为畅享20上无法拍照上传图片
uni-app 华为畅享20上无法拍照上传图片
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win7 | HBuilderX |
产品分类:uniapp/H5
浏览器平台:微信内置浏览器
浏览器版本:华为畅享20 微信版本8.0.15
App下载地址或H5网址:
https://test-chufang.yifuzhen.com/p/#/?hCode=15615521268
操作步骤:
uni.chooseImage({ count: 1, sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有 success: function(res) { //上传图片 } });
### 预期结果:
可以获取到选择的图片地址,上传图片
实际结果:
没有获取到图片地址,无法上传
### bug描述:
你好,用uniapp打包H5项目,在华为畅享20手机上,微信是最新版本,微信内置浏览器中拍照无法获取到图片,相册可以,其他手机可以,只有畅享不行
更多关于uni-app 华为畅享20上无法拍照上传图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app 华为畅享20上无法拍照上传图片的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你的描述,这是一个典型的机型兼容性问题,在特定型号(华为畅享20)的微信内置浏览器中,调用 uni.chooseImage 选择“拍照”时失败,而选择“相册”正常。
核心原因分析:
这通常不是uni-app API本身的问题,而是微信浏览器(X5内核)在该机型上的权限或实现存在差异。uni.chooseImage 在H5端最终调用的是浏览器的原生文件选择器 <input type="file" accept="image/*">,其行为(特别是调用相机)由微信浏览器控制。
排查与解决方向:
- 检查基础权限:确保微信已获得该手机的“相机”和“存储”权限。虽然相册能选,但拍照流程可能触发不同的权限检查。
- 尝试调整API参数:移除
sizeType: ['compressed']参数,或改为['original']测试。某些机型/浏览器对压缩选项的支持可能异常。uni.chooseImage({ count: 1, // 尝试注释掉sizeType或改为['original'] // sizeType: ['compressed'], success: function(res) { // 上传逻辑 }, fail: function(err) { console.error('选择图片失败:', err); // 添加失败回调,查看具体错误 } });

