📜  角度将文件转换为 base64 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:57:23.256000             🧑  作者: Mango

以角度将文件转换为 base64 - TypeScript

在 TypeScript 中,将文件转换为 base64 可以用于将图片、音频、视频等媒体文件转换成一个字符串来进行传输或存储。这种转换方式十分简单,只需要使用 FileReader 来读取文件内容,然后使用 btoa 函数将内容转换为 base64 编码即可。

以下是一个以角度将文件转换为 base64 的 TypeScript 代码片段:

function fileToBase64(file: File): Promise<string> {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();

    reader.onloadend = () => {
      const base64String = btoa(reader.result as string);
      resolve(base64String);
    };

    reader.onerror = () => {
      reject(reader.error);
    };

    reader.readAsBinaryString(file);
  });
}

这个函数接受一个 File 对象作为参数,返回一个 Promise,Promise 的 resolve 值是一个 base64 字符串。在函数内部,我们创建了一个 FileReader 对象,并设置了其 onloadendonerror 事件处理程序,分别在读取成功和失败时执行。

FileReader 对象读取完文件内容后,我们使用 btoa 函数将二进制内容转换成 base64 编码,并将其作为 Promise 的 resolve 值返回。需要注意的是,我们使用 readAsBinaryString 方法读取文件内容,这是因为二进制数据是一段未经过编码的数据,可以确保最终生成的 base64 字符串与文件内容一一对应。

这样做,我们就可以轻松地将任何文件转换成 base64 编码了,让传输和存储变得更加方便。