无法使用 nodejs 将 url 图像响应转换为缓冲区
Unable to convert url image response to buffer using nodejs
我正在使用 nodejs 从 url 下载图像。但我无法将响应转换为缓冲区。我从回复中收到的图片是乱码。
以下是我的代码:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(data));
});
fetch API 的响应是:
下载图片后出现错误:
我也尝试了以下缓冲区编码,但下载图像后仍然出现上述错误:
Buffer.from(data,'base64');
Buffer.from(data,'ascii');
Buffer.from(data,'base64url');
Buffer.from(data,'binary');
Buffer.from(data,'hex');
Buffer.from(data,'latin1');
Buffer.from(data,'ucs-2');
Buffer.from(data,'ucs2');
Buffer.from(data,'utf-8');
Buffer.from(data,'utf16le');
Buffer.from(data,'utf8');
我认为这应该是这样的:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(await data.arrayBuffer()));
});
我正在使用 nodejs 从 url 下载图像。但我无法将响应转换为缓冲区。我从回复中收到的图片是乱码。 以下是我的代码:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(data));
});
fetch API 的响应是:
下载图片后出现错误:
我也尝试了以下缓冲区编码,但下载图像后仍然出现上述错误:
Buffer.from(data,'base64');
Buffer.from(data,'ascii');
Buffer.from(data,'base64url');
Buffer.from(data,'binary');
Buffer.from(data,'hex');
Buffer.from(data,'latin1');
Buffer.from(data,'ucs-2');
Buffer.from(data,'ucs2');
Buffer.from(data,'utf-8');
Buffer.from(data,'utf16le');
Buffer.from(data,'utf8');
我认为这应该是这样的:
app.get('/test', async (req, res) => {
const data = await fetch("https://api.image/test.jpg");
res.send(Buffer.from(await data.arrayBuffer()));
});