blob 转 base64
时间: 2023-08-17 18:06:56 浏览: 435
要将Blob对象转换为Base64字符串,您可以使用FileReader对象。下面是一个示例代码,演示了如何将Blob转换为Base64:
```javascript
function blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => {
resolve(reader.result);
};
reader.onerror = reject;
reader.readAsDataURL(blob);
});
}
// 用法示例
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToBase64(blob).then(base64String => {
console.log(base64String);
}).catch(error => {
console.error(error);
});
```
在上面的代码中,`blobToBase64`函数接受一个Blob对象作为参数,并返回一个Promise对象。在函数内部,我们创建一个FileReader对象,并设置其`onloadend`回调函数,当读取完成时,它会将结果作为Base64字符串传递给resolve函数。如果发生错误,则调用reject函数。
使用示例中的代码,我们创建了一个包含字符串"Hello, world!"的Blob对象,并通过`blobToBase64`函数将其转换为Base64字符串。然后,我们在控制台打印Base64字符串。您可以根据自己的需求替换Blob对象。
请注意,如果Blob对象非常大,转换为Base64字符串可能会占用大量内存。在处理大型Blob时,请谨慎使用此方法。
阅读全文