el-upload 上传图片 Failed to execute ‘readAsDataURL‘ on ‘FileReader‘【bug修复】
场景:
el-upload 上传图片,读取文件成base64的时候,console报错:
(图片来源网络,侵删)
Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'
报错代码:
/** * File转base64 * @param file * @return base64 * */ export function getBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); let fileResult = ""; reader.readAsDataURL(file); //开始转 reader.onload = () => { fileResult = reader.result; }; //转失败 reader.onerror = (error) => { reject(error); }; //结束 resolve reader.onloadend = () => { resolve(fileResult); }; }); }
解决:
这里不能直接用 reader.readAsDataURL(file);
el-upload 需要用 reader.readAsDataURL(file.raw);
(图片来源网络,侵删)
(图片来源网络,侵删)
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...