<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<link href="//ask.dcloud.net.cn/css/mui.min.css" rel="stylesheet" />
</head>
<body>
<button type="button" class="mui-btn mui-btn-blue" onclick="getImage()">pick</button>
<br>
<br>
<br>
<button type="button" class="mui-btn mui-btn-blue" onclick="camera()">camera</button>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
//相册选择照片并压缩出问题,因为照片在DICM公共目录
function getImage() {
plus.gallery.pick(function(file) {
console.log('从相册选取图片成功,图片的路径为:' + file);
var options = {
src: file, //压缩转换原始图片的路径
dst: '_documents/test.png',
format: '.png',
width: 'auto', //缩放图片的宽度
height: 'auto', //(String 类型 )缩放图片的高度
overwrite: true
}
plus.zip.compressImage(options,
function(event) {
console.log('压缩图片成功:');
},
function(error) {
mui.toast('图片压缩失败!' + error.message);
}
)
}, function(error) {
console.log('从相册选取图片失败' + error.message);
});
}
//调用相机拍照并压缩没问题,因为照片本来就在沙盒目录
function camera() {
var cmr = plus.camera.getCamera();
cmr.captureImage(function(capturedFile) {
var options = {
src: capturedFile, //压缩转换原始图片的路径
dst: '_documents/test.png',
format: '.png',
width: '200px', //缩放图片的宽度
height: '200px', //(String 类型 )缩放图片的高度
overwrite: true
}
plus.zip.compressImage(options,
function(event) {
console.log('压缩图片成功:');
},
function(error) {
mui.toast('图片压缩失败!' + error.message);
}
)
});
}
</script>
</body>
</html>
- 发布:2020-09-27 17:34
- 更新:2021-06-12 15:09
- 阅读:2266
产品分类: HTML5+
HBuilderX版本号: 2.9.0
手机系统: Android
手机系统版本号: Android 10
手机厂商: 小米
手机机型: 小米9
打包方式: 云端
示例代码:
操作步骤:
云打包或者使用自定义基座 ,不能本地环境直接运行
使用plus.gallery.pick()选择一张系统相册的照片,然后调用plus.zip.compressImage()进行图片压缩
云打包或者使用自定义基座 ,不能本地环境直接运行
使用plus.gallery.pick()选择一张系统相册的照片,然后调用plus.zip.compressImage()进行图片压缩
预期结果:
修复bug
修复bug
实际结果:
报参数错误
报参数错误
bug描述:
小米9
Android 10环境
云打包或者使用自定义基座 ,不能本地环境直接运行
targetSdkVersion为29
使用plus.gallery.pick()选择一张系统相册的照片,然后调用plus.zip.compressImage()进行图片压缩会报
{"code":-1,"message":"参数错误"}
承接前端H5、小程序、APP、PC端网站等外包,主要技术栈为vue、uni-app,有意请加微信:13070273424(我是前端。1. 我找有单子的服务端合作人。2. 整个项目外包给我,我这也有个小团队。3. 兼职,公司/团队偶尔丢点小项目或者页面调整等)
@DCloud_Android_DQQ 你好!我升级到了最新版2.9.3.20201014, Android使用plus.zip.compressImage还是出现错误(云打包 google play)。
使用2.9.8hbuildx安卓真机测试 plus.zip.compressImage 压缩图片 errorCB报错,"code": -5,"message": "输出图片失败",这是什么大致的问题?ios上是可以正常压缩的。
-
回复 DCloud_Android_ST: 我先大致描述下,我现在还没有时间构造一个示例,稍后我有时间专门做一下:
以下是使用plus.zip.compressImage的参数
{
src: shootImg.resUrl, //来自拍照或者相册,使用 uni.chooseImage api获取的
dst: shootImg.resUrl, //来自拍照或者相册,使用 uni.chooseImage api获取的,是不是因为这src 和dst参数一样导致的?
quality: 20,
format: 'jpg'
}2020-12-12 11:53
猫猫儿 - 猫猫儿
我抓破脑袋都想不明白
file:///storage/emulated/0/Pictures/XXX/img-16229938157680ea4176f93e43ea25e98c83bcc6eccd4.jpg
file:///storage/emulated/0/Pictures/XXX/img-16234795611430b81844f707c43f7b1cf3f2bb401a58c.jpg
这样两张连文件名长度都一致的图片竟然一个正常压缩一个参数错误???这什么迷惑行为???
7***@qq.com (作者)
非常感谢,我先试试你说的方案
2020-09-28 10:53