在JavaScript中,将Blob对象转换为Base64编码的数据可以使用FileReader
对象。以下是一个示例代码,展示了如何实现这一转换:
function blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = () => {
const base64 = reader.result;
resolve(base64);
};
reader.onerror = error => reject(error);
});
}
// 使用示例
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToBase64(blob).then(base64 => {
console.log(base64); // 输出:data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==
}).catch(error => {
console.error(error);
});
在上面的代码中,blobToBase64
函数接收一个Blob对象作为参数,并返回一个Promise。当Blob对象的内容被成功读取并转换为Base64编码的数据URL时,Promise会被解决;如果读取过程中发生错误,Promise会被拒绝。