compressImage 压缩图片
优质
小牛编辑
141浏览
2023-12-01
compressImage
压缩图片接口(安卓10.0.12版本支持,ios 10.0.15版本支持)
使用方法
AlipayJSBridge.call('compressImage', {
apFilePaths: ["https://resource/apmlcc0ed184daffc5a0d8da86b2f518cf7b.image"],
compressLevel: 4
}, function(result) {
console.log(result);
});
代码演示
基本使用
<style>.img{ display:block; max-width: 100%; margin: 20px auto;}</style>
<h1>点击按钮选择图片</h1>
<button class="btn">选择图片</button>
压缩前:
<img class="img" />
压缩后:
<img class="img" />
<script type="text/javascript">
function ready(callback) {
// 如果jsbridge已经注入则直接调用
if (window.AlipayJSBridge) {
callback && callback();
} else {
// 如果没有注入则监听注入的事件
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
var btn = document.querySelector('#J_chooseImage');
btn.addEventListener('click', function(e) {
AlipayJSBridge.call(
'chooseImage',
{ count: 1, publicDomain: true },
function (result) {
alert(JSON.stringify(result));
var apFilePath = result.apFilePathsV2 || result.apFilePaths || [];
if (typeof apFilePath === 'string') {
try {
apFilePath = JSON.parse(apFilePath);
} catch (e) {}
}
if (apFilePath.length && /^https?:/.test(apFilePath[0])) {
document.querySelector('#J_imageViewer').src = apFilePath[0];
AlipayJSBridge.call('compressImage', {
apFilePaths: apFilePath,
compressLevel: 0
}, function(result) {
document.querySelector('#J_compressedImage').src = result.apFilePaths[0];
});
}
}
);
}, false);
});
</script>
查看演示 扫码查看 用支付宝扫码运行API
AlipayJSBridge.call('compressImage', {
apFilePaths: [filePaths],
compressLevel: int
}, function(result) {
console.log(result);
});
入参
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|---|---|---|---|---|
apFilePaths | array | filePaths | Y | 10.0.12 | |
compressLevel | int | 压缩质量 | Y | [4] | 10.0.12 |
压缩质量
compressLevel | 描述 |
---|---|
0 | 低质量 |
1 | 中等质量 |
2 | 高质量 |
3 | 不压缩 |
4 | 根据网络适应 |
出参
回调函数带入的参数result: {error }
名称 | 类型 | 描述 |
---|---|---|
apFilePaths | array | 压缩后的filePath |
错误
errorCode | 描述 |
---|---|
2 | 参数为空或无效 |