//1,先将base64转换为blob
const dataURLtoBlob =(dataurl:any)=> {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
//2,再将blob转换为file
const blobToFile =(theBlob:any, fileName:any)=>{
theBlob.lastModifiedDate = new Date(); // 文件最后的修改日期
theBlob.name = fileName; // 文件名
return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
}
// 使用示例
const base64toFile =(data:any) => {
// 1.先转为 blob格式 file.content是此文件的base64格式
let blob = dataURLtoBlob(data);
// 2.在转为 file类型
let fileData = blobToFile(blob,fileName);
// 3.上传
}
前端base64转file
于 2024-04-12 14:29:19 首次发布