1、最开始是用base64上传的,但是会卡死或上传超时,所以改用
cropper.getCroppedCanvas().toBlob(function(file){
var formData=new FormData();
formData.append('file',file);
formData.append("width", posterWidth);
formData.append("height", posterHeight);
$.ajax({
url:'/index/merchant/uploadThumb',
datatype:'json',
data:formData,
method:'post',
contentType: false,
processData: false,
timeout : 40000,
success:function(data) {
var obj =JSON.parse(data);
layer.close(lopen);
if( obj.code == '200' ) {
layer.msg('上传成功!');
$('#good_img').val(obj.data);
$('#demo1').attr('src', obj.data);
return true;
}else{
layer.msg('上传失败!');
return false;
}
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if( status == 'timeout'){ //超时,status还有success,error等值的情况
layer.msg('请求超时!');
layer.close(lopen);
return false;
}
}
});
}, "image/jpeg", 0.5);
2、一些浏览器不支持Blob
cropper.getCroppedCanvas().toBlob is not a function
引入https://github.com/blueimp/JavaScript-Canvas-to-Blob
的js就可以了