报错:TypeError: Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'.
在我想转换前 我先输出了一下file的具体所包含的东西
(这是eladmin的图片上传成功的钩子函数)

此时 url是一个blob的格式 我就将file.url进行转化
handlesuccess(response, file, fileList) {
this.blobToBase64(file.url).then(res => {
// 转化后的base64
console.log('base64', res)
})
},
blobToBase64(blob) {
return new Promise((resolve, reject) => {
const fileReader = new FileReader();
fileReader.onload = (e) => {
resolve(e.target.result);
};
// readAsDataURL
fileReader.readAsDataURL(blob);
fileReader.onerror = () => {
reject(new Error('文件流异常'));
};
});
},
结果 报错了…… 说是不识别blob类型
在网上找了半天 将这个 raw 转换就可以了

成功转换

本文介绍了一种常见的前端开发问题:在尝试将Blob对象转换为Base64字符串时遇到TypeError异常。通过分析错误原因及提供解决方案,帮助开发者正确实现Blob到Base64的转换。
3695





