需求是,从一个response里面(返回了一张图片)把数据转换成base64.
可以看看上一篇nest从ftp获取文件返回response。
const c = new ftp();
// c.connect(connectionProperties);
c.on('ready', function () {
c.get('/userImage/' + fileName, function (err, stream) {
if (err) {
response.end(JSON.stringify({
code: 400,
message: `FTP爆出来的错${err}`,
data: ''
}));
return '';
}
chunk = '';
let size = 0;
let chunks = [];
stream.on('close', function () {
// 核心代码
const data = Buffer.concat(chunks, size);
console.log('22222222222222');
const base64Img = data.toString('base64');
// response.write(data);
response.end(JSON.stringify({
code: 200,
message: `用户头像`,
result: base64Img
}));
c.end();
});
stream.on('readable', function () {
while (null != (chunk = stream.read())) {
// 核心代码
size += chunk.length;
chunks.push(chunk);
}
});
});
});
c.connect(connectionProperties)