我从Node.js调用了一个API,它会在响应正文中产生PNG数据,我得到的是编码格式的响应(见下图):
现在,我需要在我的API中发送此PNG图像作为响应.
我可以用以下代码片段保存图像:
const writer = fs.createWriteStream("testimage.png");
const streamResponse = await axios({
'method': 'GET',
responseType: 'stream',
'url': endPoint + requestRoute,
'headers': {
'Authorization': 'Bearer ' + _token
}
});
streamResponse.data.pipe(writer);
但是我不想把图片保存在我的服务器上,我想把从外部API收到的图片作为我的API的响应发送出go .
例如:
Api.getPNGImage = async function (_request, _respsonse) {
var options = {
'method': 'GET',
'url': endPoint + requestRoute,
'headers': {
'content-type': 'application/json',
'Authorization': 'Bearer ' + _token
}
};
request(options, function (error, response) {
let image = response.body;
_respsonse.send(image)
});
}
我try 了下面的方法,但Base64无效:
let str = "data:" + 'image/png' + ";base64," + Buffer.from(_responses.body).toString('base64');
个