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);
});
}
});
- 发布:2021-08-20 11:21
- 更新:2022-03-10 13:23
- 阅读:2227
产品分类: 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.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);
});
}
});
遇到同样的情况。版本: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
瑞芝康健
同样遇到了,之前版本没问题,现在版本拍照的时候压缩功能无效
2021-08-31 10:46
DCloud_UNI_GSQ
回复 r***@163.com: 你说的拍照吗?
2021-08-31 11:19
瑞芝康健
回复 DCloud_UNI_GSQ: 是的,选择拍照的时候,图片是没有压缩的
2021-08-31 11:23
瑞芝康健
回复 DCloud_UNI_GSQ: 3.2.2.20210818版本出现的问题,我尝试更新到3.2.3.20210825这个问题还是没有解决。
2021-08-31 11:42