base64转file

在JavaScript中,将Base64字符串转换为File对象可以通过以下步骤实现:

  1. 使用 atob 函数将Base64字符串解码为二进制字符串。

  2. 创建一个 Uint8Array,将解码后的二进制字符串转换为二进制数据。

  3. 使用 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对象,该对象可以用于文件上传等操作。

Top