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);
};