Я использую ax ios для извлечения png base64 от третьей стороны, а затем пытаюсь передать его другому клиенту в виде изображения.
Если я прочитаю полный текст, я смогу res.write(response.data, 'base64');
и клиент получает изображение, которое я ожидаю.
Однако, если я пытаюсь его воспроизвести, клиент просто получает текст base64.
Я пробовал и stream.setEncoding('base64');
, и с использованием Base64Encode пакет.
Это мой текущий код:
axios({
method: 'get',
timeout: 150000,
headers,
url,
responseType: 'stream'
})
.then(response => {
res.writeHead(200, { 'Content-Type': 'image/png' });
const stream = response.data;
//stream.setEncoding('base64');
stream.on('end', () => {
console.log('ended');
res.end();
});
stream.pipe(new Base64Encode()).pipe(res);
//stream.pipe(res);
})
.catch(reason => {
logAxiosError(reason);
res.write('ERROR');
res.end();
});