在JavaScript中,将Base64字符串转换为File对象可以通过以下步骤实现:
-
使用
atob
函数将Base64字符串解码为二进制字符串。 -
创建一个
Uint8Array
,将解码后的二进制字符串转换为二进制数据。 -
使用
new File
构造函数创建一个File对象,传入二进制数据数组、文件名和MIME类型。
以下是一个示例函数,用于将Base64字符串转换为File对象:
function base64ToFile(base64, fileName) {
// 将base64字符串分割为两部分:数据部分和类型部分
let arr = base64.split(',');
// 获取MIME类型
let mime = arr.match(/:(.*?);/);
// 获取二进制字符串
let bstr = atob(arr);
// 获取二进制数据的长度
let n = bstr.length;
// 创建一个Uint8Array来存储二进制数据
let u8arr = new Uint8Array(n);
// 将二进制字符串转换为二进制数据
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
// 创建并返回File对象
return new File([u8arr], fileName, { type: mime });
}
使用这个函数,你可以将Base64编码的字符串转换为一个File对象,该对象可以用于文件上传等操作。