一个完整的图片base64应包含mime类型和内容信息,欲转换图片先提取出其中的mime类型用以指定转换后文件的类型和文件后缀,如
data:image/jpeg;base64,xxxxxx
转换代码如下:
let base64ToFile = (dataurl, filename) => {
let arr = dataurl.split(',')
let mime = arr[0].match(/:(.*?);/)[1];
if(!filename) {
filename = `${new Date().getTime()}.${mime.substr(mime.indexOf('/') + 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, {type: mime});
}
以上~