显示从快递服务器传回的图像
Posted
技术标签:
【中文标题】显示从快递服务器传回的图像【英文标题】: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 我也尝试将数据作为文件读取。
【问题讨论】:
【参考方案1】:问题是图像的存储,而不是检索。
我使用 npm 包 multer 将图像存储在服务器上,并没有在存储函数中指定 mimetype。
这导致文件在没有 mimetype 的情况下上传。
向上传的文件添加所需的 mimetype 解决了我的问题。
【讨论】:
以上是关于显示从快递服务器传回的图像的主要内容,如果未能解决你的问题,请参考以下文章