JavaScript将文件转为base64格式

首先放上 MDN文档地址

使用场景:因业务需要使用到了 Ant Design 的 Upload 组件上传文件。当上传文件为图片格式时,会自带一个 thumbUrl 属性,值为缩略图的base64格式。
因业务需求是用作 OCR 识别,因此缩略图是不行的,需要使用原图,否则识别不准,不满足产品需求。

因此,就需要使用手动转换,因此用到了 FileReader 。
代码如下:

  // 图片文件转为 base64
  getPictureBase64 = (file) => {
    return new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.readAsDataURL(file);
      reader.onload = () => resolve(reader.result);
      reader.onerror = (error) => reject(error);
    });
  };

  // 使用 frontFile, backFile 为 upload 组件得到的文件列表
  onSubmit = async () => {
    const { frontFile, backFile, cardType } = this.state;

    let imgFrontFileUrl = await this.getPictureBase64(frontFile[0].originFileObj);
    let imgBackFileUrl = await this.getPictureBase64(backFile[0].originFileObj);
  };
posted @ 2022-02-14 18:54  我的故事没编好  阅读(5130)  评论(0编辑  收藏  举报