前端base64编码格式图片转换为file类型并上传
将前端的base64编码格式图片转换为file文件,方便传输到后台进行处理。
/*将base64转换为file继承自blob*/
function base64ToBlob(dataurl,filename){
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 File([u8arr],filename,{type:mime});
}
将转换的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
});