有时候我们需要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. });
添加 加粗部分的代码即可解决