Node.js 使用https.request将下载的文件转换为base64
我正在尝试下载一个图像,并在base64中获取它。这是我到目前为止一直在使用的:Node.js 使用https.request将下载的文件转换为base64,node.js,base64,Node.js,Base64,我正在尝试下载一个图像,并在base64中获取它。这是我到目前为止一直在使用的: let base64Data = 'data:' + file.mimetype + ';base64,'; const req = https.request(options, (res) => { res.on('data', (d) => { const buffer = new Buffer(d).toString('base64'); base64Dat
let base64Data = 'data:' + file.mimetype + ';base64,';
const req = https.request(options, (res) => {
res.on('data', (d) => {
const buffer = new Buffer(d).toString('base64');
base64Data += buffer;
});
res.on('end', () => {
console.log(base64Data);
});
});
req.end();
该文件已下载,但Base64数据格式不正确
我遗漏了什么?
数据
可能会触发多次,这意味着您需要收集所有数据块,并在结束
处理程序中对它们进行组合和Base64编码(因为串联单独的Base64编码字符串在解码时可能不会产生原始值):
data
可能会触发多次,这意味着您需要收集所有数据块,并在end
处理程序中对它们进行组合和Base64编码(因为串联单独的Base64编码字符串在解码时可能不会产生原始值):
const req = https.request(options, (res) => {
let chunks = [];
res.on('data', (d) => {
chunks.push(d);
});
res.on('end', () => {
const buffer = Buffer.concat(chunks).toString('base64');
base64Data += buffer;
console.log(base64Data);
});
});