lrz实现原理_jQuery + lrz 实现本地压缩后上传图片

该博客介绍了如何使用lrz库对本地图片进行压缩,然后利用jQuery配合formData上传压缩后的图片。通过示例代码展示了文件改变事件触发的图片压缩及上传流程,以及直接上传原图的方法。上传过程中使用Promise处理异步操作,后端接口用于接收并处理上传的图片。
摘要由CSDN通过智能技术生成

/**

* 本地图片压缩后上传

*/

$("#vfile").change(function(){

var _this = $(this);

lrz(this.files[0]).then(function(data) {

return upload(_this.get(0) , data.formData);

}).then(function(data) {

// data => 上传成功后返回的JSON数据

// TODO::处理逻辑

}).catch(function(err) {

console.log(err);

});

});

/**

* 直接上传原图

*/

$("#vfile").change(function(){

upload(this).then(function(data) {

// data => 上传成功后返回的JSON数据

// TODO::处理逻辑

}).catch(function(err) {

console.log(err);

});

});

/**

* 图片上传 后端正常处理图片

* @param selector 文件域DOM Obj [必选]

* @param formData 文件上传formData [可选]

*/

function upload(selector , formData) {

if(!formData) {

formData = new FormData();

formData.append("file", $(selector)[0].files[0]);

}

var url = "{:U('Wap/Public/ajaxSingleUpload')}";

return new Promise(function(resolve,reject){

$.ajax({

url : url,

type : 'POST',

data : formData,

processData : false,

contentType : false,

dataType:"json",

success : function(response) {

resolve(response);

},

error : function(response) {

reject(response);

}

});

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值