Blob格式
//code为base64编码
const base64ToBlob = (code:any) => {
var arr = code.split(',')
// 图片格式
var mime = arr[0].match(/:(.*?);/)[1]
// 获取,之后的base64的编码
var bstr = window.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 });
}
File格式
//dataurl为base64编码
const base64ImgtoFile=(dataurl:any, filename = 'file')=>{
const arr = dataurl.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const suffix = mime.split('/')[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
}