uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重
uni-app中uni.chooseImage()方法 sizeType:[‘original’] 应选择原图 但安卓手机图片压缩严重
| 项目属性 | 值 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Mac |
| PC开发环境版本 | 10.15.7 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.1.9 |
| 手机系统 | Android |
| 手机系统版本 | Android 11 |
| 手机厂商 | 华为,小米,OPPO等 |
| 手机机型 | 荣耀等 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
操作步骤:
uni.chooseImage() 方法中 sizeType:[‘original’] 只有选择原图,但是安卓手机图片压缩的很厉害,用手机相机拍摄的图片上面有文字的照片就会很模糊,(用手机拍照也是一样的)
预期结果:
设置原图以后,希望不要压缩的太厉害
实际结果:
设置原图以后,图片压缩很严重,尤其是照片上有文字的,根本看不清楚
bug描述:
uni.chooseImage() 方法中 sizeType:[‘original’] 只有选择原图,但是安卓手机图片压缩的很厉害,用手机相机拍摄的图片上面有文字的照片就会很模糊,(用手机拍照也是一样的)
更多关于uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app中uni.chooseImage()方法 sizeType:['original'] 应选择原图 但安卓手机图片压缩严重的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个在uni-app中常见的问题,主要与安卓系统的图片处理机制有关。即使设置了sizeType: ['original'],部分安卓厂商系统仍会默认压缩图片,尤其是相机拍摄的高分辨率照片。
原因分析:
- 安卓系统底层限制:部分安卓厂商(特别是华为、小米、OPPO等)在系统相册中选择图片时,会强制进行压缩处理
- 内存优化考虑:系统为避免大尺寸图片导致内存溢出,自动进行压缩
- 文件路径问题:某些情况下返回的并非真正的原图路径
解决方案:
- 使用相机API替代:建议使用
uni.chooseMedia()或uni.createCameraContext()直接调用相机拍摄,可获取更高清的原图 - 调整压缩参数:尝试结合
compressed: false参数
uni.chooseImage({
count: 1,
sizeType: ['original'],
sourceType: ['camera'], // 直接调用相机
success: (res) => {
console.log(res.tempFilePaths[0])
}
})

