uni-app uni.chooseImage 选择压缩参数后 图片不进行压缩
uni-app uni.chooseImage 选择压缩参数后 图片不进行压缩
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win7旗舰版 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win7旗舰版
HBuilderX类型:正式
HBuilderX版本号:3.2.3
手机系统:Android
手机系统版本号:Android 11
手机厂商:小米
手机机型:redmik30
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
### 示例代码:
```p
uni.chooseImage({
count: 6, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
}
});
操作步骤:
uni.chooseImage({
count: 6, //默认9
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: function (res) {
console.log(JSON.stringify(res.tempFilePaths));
}
});
预期结果:
压缩后图片大小变小
实际结果:
压缩后图片大小没有变化
bug描述:
uni.chooseImage不压缩,之前版本是可以的 ,最近两次升级版本后不能压缩了
按照官网示例和uniapp Demo编译后都不会压缩
更多关于uni-app uni.chooseImage 选择压缩参数后 图片不进行压缩的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
解决了吗
更多关于uni-app uni.chooseImage 选择压缩参数后 图片不进行压缩的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你提供的信息,这确实是近期版本中出现的已知问题。在HBuilderX 3.2.3版本中,uni.chooseImage的sizeType参数设置为['compressed']或同时包含'compressed'时,在Android端可能无法正常触发图片压缩。
问题原因:
该问题与底层原生模块的压缩逻辑处理变更有关。在某些Android系统或机型上,当sizeType数组包含多个选项时,压缩流程可能被跳过,直接返回原图。
临时解决方案:
- 明确指定压缩类型:将
sizeType参数设置为只包含'compressed',即sizeType: ['compressed']。这可以避免因参数组合导致的逻辑判断问题。 - 手动压缩处理:如果上述方法无效,可在获取图片后,使用
uni.compressImageAPI进行二次压缩。示例代码如下:uni.chooseImage({ count: 6, sourceType: ['album'], success: async (res) => { const compressedPaths = []; for (let filePath of res.tempFilePaths) { const compressRes = await uni.compressImage({ src: filePath, quality: 80 // 调整压缩质量 }); compressedPaths.push(compressRes.tempFilePath); } console.log(compressedPaths); } });

