function convertBase64ToBlob(base64Str) {
// 将base64字符串转为二进制数据
const byteCharacters = atob(base64Str);
// 创建Blob对象
const blob = new Blob([byteCharacters], { type: 'application/octet-stream' });
return blob;
}
function convertBlobToFile(blob, fileName) {
// 创建File对象
const file = new File([blob], fileName, { type: blob.type });
return file;
}
注释说明:
convertBase64ToBlob
方法将base64字符串转为blob对象,使用了atob方法将base64字符串转为二进制数据,再使用Blob构造函数创建Blob对象,并指定文件类型为application/octet-stream
。convertBlobToFile
方法将blob对象转为file对象,使用了File构造函数创建File对象。示例代码演示了将一个base64图片字符串转为file对象的例子:
const base64Str = 'data:image/png;base64,iVBORw0KG...'; // 用实际的base64字符串替换
const fileName = 'image.png';
const blob = convertBase64ToBlob(base64Str);
const file = convertBlobToFile(blob, fileName);
console.log(file);
输出结果:
File(85) {name: "image.png", lastModified: 1632490063760, lastModifiedDate: Tue Sep 24 2021 16:07:43 GMT+0800 (中国标准时间), webkitRelativePath: "", size: 85, …}