有时候我们需要ajax去post图片的Base64后的编码,如果图片较大,编码的字符串将会很长,会导致数据被截取,导致接口功能错误,提交失败

解决方法如下:


	1. img=img.split(',')[1];  
	2. img=window.atob(img);  
	3. var ia = new Uint8Array(img.length);  
	4. for (var i = 0; i < img.length; i++) {  
	5.   ia[i] = img.charCodeAt(i);  
	6. };  
	7. var blob=new Blob([ia], {type:"image/png"});  
	8. var formdata=new FormData();  
	9. formdata.append('file',blob);  
	10. $.ajax({  
	11.   url : url,  
	12.   data :  formdata,  
	13.   processData : false,   
	14.   contentType : false,   
	15.   dataType: 'json',  
	16.   type : "POST",  
	17.   success : function(data){}  
	18. });  


添加 加粗部分的代码即可解决