在node.js中将缓冲区转换为二进制

时间:2020-03-26 11:42:00

标签: node.js

我正在使用axios从这样的网址请求图像:

const response = await axios.get('https://asite.dom/image/url', { responseType: 'arrayBuffer' }); 

我不需要也不想在本地保存文件。我只需要简单的二进制数据来检查图像尺寸。

因此我不想这样做

const bufferImage = Buffer.from(response.data, 'binary');

因为这是缓冲区,而不是二进制数据。

我尝试访问

response.data

直接,但这也不是图像的二进制数据。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

只需测试一下就可以了:

const response = await axios.get(
  'https://example.com/image.png', { responseType: 'arraybuffer' }
); 

const bin = response.data.toString('binary');
console.log(bin);

关键似乎在于您将b中的arraybuffer大写。另外,response.data已经是缓冲区,因此您可以直接将其转换为字符串。