,可以使用Buffer对象和Buffer的toString方法来实现。
首先,需要安装依赖包buffer
,可以使用以下命令进行安装:
npm install buffer
然后,在代码中引入buffer
模块:
const Buffer = require('buffer').Buffer;
接下来,假设有一个Blob对象blob
,可以通过读取Blob的数据并将其转换为Buffer对象,然后使用Buffer的toString方法将其转换为Base64字符串:
const blobToBase64 = (blob) => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => {
const buffer = Buffer.from(reader.result);
const base64 = buffer.toString('base64');
resolve(base64);
};
reader.onerror = reject;
reader.readAsArrayBuffer(blob);
});
};
以上代码定义了一个名为blobToBase64
的函数,该函数接受一个Blob对象作为参数,并返回一个Promise对象。在函数内部,创建了一个FileReader对象,并通过readAsArrayBuffer
方法读取Blob的数据。当读取完成时,将读取结果转换为Buffer对象,并使用Buffer的toString方法将其转换为Base64字符串。最后,通过Promise的resolve方法将Base64字符串返回。
使用示例:
const blob = new Blob(['Hello, World!'], { type: 'text/plain' });
blobToBase64(blob)
.then((base64) => {
console.log(base64);
})
.catch((error) => {
console.error(error);
});
以上示例中,创建了一个包含字符串"Hello, World!"的Blob对象,并将其传递给blobToBase64
函数进行转换。转换完成后,将Base64字符串打印到控制台。
注意:由于NodeJS中没有原生支持Blob和FileReader对象,因此需要使用第三方库或自定义方法来模拟这些功能。以上示例中使用了Buffer对象和Buffer的toString方法来实现Blob到Base64的转换。
领取专属 10元无门槛券
手把手带您无忧上云