将前端的base64编码格式图片转换为file文件,方便传输到后台进行处理。
/*将base64转换为blob*/
function base64ToBlob(dataurl){
var arr=dataurl.split(',');
var mime=arr[0].match(/:(.*?);/)[1];/*文件类型*/
var bstr=atob(arr[1]);
var n=bstr.length;
var u8arr=new Uint8Array(n);
while(n--){
u8arr[n]=bstr.charCodeAt(n);
}
return new Blob([u8arr],{type:mime});
}
/*将blob转换为file,添加属性*/
function blobToFile(theBlob,filename){
theBlob.lastModifiedDate=new Date();/*最后修改时间*/
theBlob.name=filename;
return theBlob;
}
将转换的file文件类型图片通过formData对象添加进表单进行传输,使用Ajax技术实现无刷新上传。
var forms=new FormData();
forms.append('file',file);
$.ajax({
type:"POST",
url:"http://localhost:8080/captureServlet",
data:forms,
processData:false,/*设置不处理数据*/
contentType:false
});
标签:转换,base64,file,var,new,theBlob,上传
From: https://www.cnblogs.com/qingfeng515/p/16816241.html