这是一款可以压缩上传图片的js插件,做一些需要压缩上传的功能很方便,而且可以兼容web、安卓、ios端。
使用方式:
首先要引入js:
<script type="text/javascript" src="//dist/lrz.bundle.js"></script>
然后调用:
<script>
//图片压缩上传,兼容安卓、苹果、web
document.querySelector('#file').addEventListener('change', function () {
var option = {
width : null,//width {Number} 图片最大不超过的宽度,默认为原图宽度,高度不设时会适应宽度。
height : null,//同上
fieldName: 'file',//{String} 后端接收的字段名,默认:file*/
quality : 0.7,//{Number} 图片压缩质量,取值 0 - 1,默认为0.7
}
lrz(this.files[0],option)
.then(function (rst) {
// 处理成功会执行
console.log(rst);
$.ajax({
url: "后台api接收地址",
data:rst.formData,
dataType:'json',
processData: false,
contentType: false,
type: 'POST',
success: function (res) {
//res = JSON.stringify(res);
console.log(res)
},
error:function (e) {
console.log('ajax error',e)
}
});
})
.catch(function (err) {
console.log('upload_err',err)
// 处理失败会执行
})
.always(function () {
// 不管是成功失败,都会执行
});
});
</script>主要参数就这几个:
option = {
width : null,//width {Number} 图片最大不超过的宽度,默认为原图宽度,高度不设时会适应宽度。
height : null,//同上
fieldName: 'file',//{String} 后端接收的字段名,默认:file*/
quality : 0.7,//{Number} 图片压缩质量,取值 0 - 1,默认为0.7
}具体可以看github开源:https://github.com/think2011/localResizeIMG
只有js的附件: