【问题标题】:displaying an image streamed back from an express server显示从快递服务器传回的图像
【发布时间】:2021-12-20 13:03:31
【问题描述】:

目前正在尝试在 img 标记内从 api 返回和显示图像。 我不确定返回的是什么数据类型,也不确定如何处理它以使其显示在图像标签中。

无论我使用 pipe() 还是 res.sendFile(),数据似乎都以相同的格式返回。

这是服务器

app.get('/image', (req,res) => {
    var p = path.join(__dirname, './uploads', 'DSC_3985.JPG'); 
    res.setHeader('Content-Type', 'image/jpg');
    fs.createReadStream(p).pipe(res);
})

这是打印到控制台时返回的数据/文件的 sn-p。

8>����*��5&�`�P���o��U�@�3�7������f��I��CH�6���>���sILB�iv
WwW&�~�N��2�5�\����{��j�����^�z��yl�,��=)�&�6��y�5�XM��o�psB�e�
fTe�׊��$gz�n�6Rۣ�/$n��QY2���߭C�DV#i_�'<�����N�����

我尝试了以下方法

<img src="data:image/jpg;base64,xxxxxxxxxxxxx...">

我还尝试将数据视为 blob
我也尝试将数据作为文件读取。

【问题讨论】:

    标签: html image express binary blob


    【解决方案1】:

    问题是图像的存储,而不是检索。

    我使用 npm 包 multer 将图像存储在服务器上,并没有在存储函数中指定 mimetype。

    这导致文件在没有 mimetype 的情况下上传。

    向上传的文件添加所需的 mimetype 解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-17
      • 2013-04-04
      • 2012-09-14
      • 2012-01-19
      • 1970-01-01
      • 2014-01-16
      • 2020-12-02
      • 2018-11-06
      相关资源
      最近更新 更多