共计 570 个字符,预计需要花费 2 分钟才能阅读完成。
export function base64ToFile(base64Str) {
// 将 base64 转换为 blob
const dataURLtoBlob = function(dataurl) {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});
}
// 将 blob 转换为 file
const blobToFile = function(theBlob, fileName){theBlob.lastModifiedDate = new Date();
theBlob.name = fileName;
return new window.File([theBlob],
theBlob.name,
{type: theBlob.type}
);
}
// 调用
var blob = dataURLtoBlob(base64Str);
var file = blobToFile(blob, Math.random().toString(36).substr(2));
return file
}
正文完
发表至: javascript
2022-03-29