my.compressimage(object object)
基础库 1.4.0 或更高版本; 且 支付宝客户端 10.1.8 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
主体: 企业支付宝小程序 、 个人支付宝小程序
压缩图片。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apfilepaths | array |
- | 是 | - | 要压缩的图片路径数组。支持 本地临时文件、本地缓存文件、 本地用户文件、代码包文件。 |
|||||||||||||||||||
compresslevel | number | 4 | 否 | - | 压缩等级 |
|||||||||||||||||||
|
||||||||||||||||||||||||
compressedwidth | number | - | 否 | 基础库: 2.8.5 |
压缩后图片的宽度。单位: px |
|||||||||||||||||||
compressedheight | number | - | 否 | 基础库: 2.8.5 |
压缩后图片的高度。单位: px |
|||||||||||||||||||
success | function | - | 否 | - | 调用成功的回调函数 |
|||||||||||||||||||
fail | function | - | 否 | - | 调用失败的回调函数 |
|||||||||||||||||||
complete | function | - | 否 | - | 调用结束的回调函数(调用成功、失败都会执行) |
success 回调函数
参数
object res
查看示例
属性 | 类型 | 描述 |
---|---|---|
apfilepaths | array |
压缩后图片 本地临时文件 路径数组 |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
2 | ${fieldname} 不能为空 | 请检查对应入参字段 |
${fieldname} 参数类型错误 | 请检查指定的入参字段,传入正确的类型。 |
|
参数 compresslevel 超出可选范围 | 请检查入参 compresslevel, 传入正确的压缩等级。 |
// 以从本地选择图片为例:
// 注意,在使用 my.chooseimage 选择图片进行压缩时,为确保压缩效果,请选择原图
my.chooseimage ({
count: 1,
success: res => {
my.compressimage ({
apfilepaths: res.apfilepaths,
compresslevel: 1,
success (res) {
console.log (res);
},
fail (err) {
console.log (err);
},
});
},
});
// 以从本地选择图片为例:
my.chooseimage ({
count: 1,
success: res => {
my.compressimage ({
apfilepaths: res.apfilepaths,
compresslevel: 1,
success (res) {
console.log ('compressimage - success', res);
my.detectfiletype ({
filepath: res.apfilepaths[0],
success (res) {
console.log ('detectfiletype: success', res);
},
fail (err) {
console.log ('detectfiletype: fail', err);
},
});
},
fail (err) {
console.log ('compressimage - fail', err);
},
});
},
});
{
"apfilepaths": ["https://resource/8eff65d7f084508b7841e38e1efb01a63.image"]
}
{
"error": 2,
"errormessage": "无效参数"
}
-
tip
图片的路径数组在 ide 上以实际后缀名为后缀(部分不常用的图片后缀名会以 .null 为后缀),在真机预览上以 .image 为后缀。
若需判断文件扩展真实后缀名,可使用 my.detectfiletype 进行查询,请以此接口返回结果为准,不过需注意此接口仅限真机调试,可参考上方示例代码。
-
tip在使用 my.chooseimage 选择图片进行压缩时,为确保压缩效果,请选择原图 。否则可能出现压缩后的图片比原始图大的情况。
q:图片压缩后,如何查看文件大小?
可通过调用 filesystemmanager.getfileinfo 获得文件的 size 。 例如:
my.chooseimage({
count: 1,
success: (res) => {
my.compressimage({
apfilepaths: res.apfilepaths,
compresslevel: 1,
success: (data) => {
console.log(data.apfilepaths[0]);
let fs = my.getfilesystemmanager();
fs.getfileinfo({
filepath: data.apfilepaths[0],
success: (res) => {
console.log(res.size); // 单位是字节(byte)
},
});
},
});
},
});