uni-app中uni.chooseImage(OBJECT) API 设置sizeType: ['compressed'] 不再压缩图片而是原图
uni-app中uni.chooseImage(OBJECT) API 设置sizeType: [‘compressed’] 不再压缩图片而是原图
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | Win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:Win10
HBuilderX类型:正式
HBuilderX版本号:3.2.2
手机系统:Android
手机系统版本号:Android 10
手机厂商:小米
手机机型:小米8
页面类型:vue
打包方式:云端
项目创建方式:HBuilderX
示例代码:
uni.chooseImage({
count: 1, //默认9
sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有
sourceType: [‘camera’], //从相机选择
// crop: { //图像裁剪参数,设置后 sizeType 失效
// quality: 80,
// width: 100,
// height: 100,
// resize: true//是否将width和height作为裁剪保存图片真实的像素值。
// },
success: function(res) {
_this.source = res.tempFilePaths[0];
//转换成base64
pathToBase64(_this.source)
.then(base64 => {
/* 用于向父组件传递事件,可携带子组件的参数*/
_this.$emit(‘getSrc’, base64);
})
.catch(error => {
_this.$u.utils.showToast(‘图片上传失败,请重新拍摄,error:’ + error);
});
}
});
操作步骤:
uni.chooseImage({
count: 1, //默认9
sizeType: [‘compressed’], //可以指定是原图还是压缩图,默认二者都有
sourceType: [‘camera’], //从相机选择
// crop: { //图像裁剪参数,设置后 sizeType 失效
// quality: 80,
// width: 100,
// height: 100,
// resize: true//是否将width和height作为裁剪保存图片真实的像素值。
// },
success: function(res) {
_this.source = res.tempFilePaths[0];
//转换成base64
pathToBase64(_this.source)
.then(base64 => {
/* 用于向父组件传递事件,可携带子组件的参数*/
_this.$emit(‘getSrc’, base64);
})
.catch(error => {
_this.$u.utils.showToast(‘图片上传失败,请重新拍摄,error:’ + error);
});
}
});
用这个代码,使用两个版本,是不同的结果,图片大小是不同的
预期结果:
新版本的没有压缩了!
实际结果:
实际上是原图!
bug描述:
uni.chooseImage(OBJECT),这个api 设置sizeType: ['compressed'],不会进行压缩了!
在上个版本3.1.22.20210709中,设置compressed还是会压缩的,现在不行了!
更多关于uni-app中uni.chooseImage(OBJECT) API 设置sizeType: ['compressed'] 不再压缩图片而是原图的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是所有图均未压缩,还是小图未压缩?
更多关于uni-app中uni.chooseImage(OBJECT) API 设置sizeType: ['compressed'] 不再压缩图片而是原图的实战教程也可以访问 https://www.itying.com/category-93-b0.html
同样遇到了,之前版本没问题,现在版本拍照的时候压缩功能无效
回复 DCloud_UNI_GSQ: 是的,选择拍照的时候,图片是没有压缩的
回复 DCloud_UNI_GSQ: 3.2.2.20210818版本出现的问题,我尝试更新到3.2.3.20210825这个问题还是没有解决。
遇到同样的情况。版本:3.2.2.20210818,IOS下,相册里的图片从2.4M压缩的到400多K,但是用拍照功能的时候,不管original还是compressed,都是2.5M左右。
uni.chooseImage({
count: 1,
sourceType: [‘camera’], //拍摄:album 从相册选图,camera 使用相机
sizeType: [‘compressed’], //压缩:original 原图,compressed 压缩图
success: (res) => {
const tempFilePaths = res.tempFilePaths;
console.log(res.tempFiles);
pathToBase64(tempFilePaths[0])
.then(base64 => {
let str = base64.substring(base64.indexOf(',') + 1)
下面是控制台打印出来的图片信息
18:20:01.651 [Object] [{“path”:"_doc/uniapp_temp_1630316858921/camera/photo_001.jpg",“size”:2761151}] at pages/index/index.js:701
18:28:43.413 [Object] [{“path”:"_doc/uniapp_temp_1630316858921/camera/photo_002.jpg",“size”:3204955}] at pages/index/index.js:701
经过测试,小米4C也是同样的情况。从相册选图片可以压缩,拍照的不压缩
同样遇到了,之前版本没问题,现在版本拍照的时候压缩功能无效
HBuilderX 3.2.6 alpha 已修复
HBuilderX 3.3.11,小米note9,微信小程序,微信开发者工具1.05,选择相册图片,发现根本没压缩,4.79M的jpg文件
微信小程序平台的话,需要反馈到微信小程序社区。
那可以使用crop来代替compressed吗


