base64格式图⽚转为⼆进制图⽚⽂件及newFile兼容性解决base64格式时图⽚打印出来为 data:image/bmp;很长⼀⼤截
function dataURLtoFile(dataurl, filename = 'file') {
let arr = dataurl.split(',')
金星凌日let mime = arr[0].match(/:(.*?);/)[1]
let suffix = mime.split('/')[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
}
使⽤
var imgFile = dataURLtoFile(base64Img);//⼆进制file⽂件类型
< 对于new File这个接⼝
我就遇到了问题,⼗⼏个⼿机⾥⾯,就⼀个iphone7⽆法使⽤。。。。。。。
解决办法:
/
/base64转blob⽂件函数
function dataURLtoBlob(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 });
吹牛的由来
}
var date = new Date();
var formData = new FormData();
formData.append('file',dataURLtoBlob(base64Img),'IMG_'+date .getFullYear()+(date .getMonth()+1)+date .getDate()+il(Math.random()*100)+'.jpeg');