首页 > 解决方案 > 无法通过特快路线发送 PNG

问题描述

我有一个从我的快递端点提供的 png 图像,该图像应该作为图像源可读。我目前已将图像作为节点中的缓冲区,我正在尝试渲染它,但是我似乎无法让图像出现。

结果

代码结果

预期的

在此处输入图像描述

快递JS代码

publicController.get('/avatar', async (req, res, next) => {
  const image = await PUBLIC.avatar();
  res.writeHead(200, {
      'Content-Type': 'image/png',
      'Content-Length': image.toString("binary").length
    });
  res.charset = 'binary';
  res.write(image.toString("binary"));
  res.end()
})

试过的方法:

注意事项:

标签: node.jsimageexpressnpmsharp

解决方案


res.write(image.toString("binary"));

这不合适。如果您已经有缓冲区,请不要转换它。马上写出来。

res.writeHead(200, {
  'Content-Type': 'image/png',
  'Content-Length': image.length;
});
res.end(image);

推荐阅读