本地壓縮插件 https://github.com/think2011/localResizeIMG
/**
* 本地圖片壓縮后上傳
*/
$("#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數(shù)據(jù)
// TODO::處理邏輯
}).catch(function(err) {
console.log(err);
});
});
/**
* 直接上傳原圖
*/
$("#vfile").change(function(){
upload(this).then(function(data) {
// data => 上傳成功后返回的JSON數(shù)據(jù)
// TODO::處理邏輯
}).catch(function(err) {
console.log(err);
});
});
/**
* 圖片上傳 后端正常處理圖片<input file="file" name="file" />
* @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);
}
});
});
}