如何显示缓冲图像
Posted
技术标签:
【中文标题】如何显示缓冲图像【英文标题】:How to display buffered image 【发布时间】:2018-04-05 10:07:25 【问题描述】:我正在 ReactJS 中创建一个“加载图片”组件。我的组件将加载的图像存储在内存中,并将其发送到使用 npm "file-loader" 的 Node 服务器。
图像作为缓冲区到达服务器<Buffer 89 12 00 .... >
我将尝试将缓冲区保存到 mysql,但如果数据库插入成功,则需要在浏览器中将图像显示为缩略图。
如何在浏览器中显示缓冲图像?
【问题讨论】:
【参考方案1】:我采用的解决方案是将缓冲区转换为 base64 并使用<img />
标签显示:
const buffer = someData // e.g., <Buffer 89 50 4e ... >
const b64 = new Buffer(buffer).toString('base64')
const mimeType = some_type // e.g., image/png
然后在我的 React 组件中,我渲染一个图像标签:
<img src=`data:$mimeType;base64,$b64` />
更多:https://css-tricks.com/data-uris/
【讨论】:
非常感谢您。我想我可以就此写一篇博文。在最新版本的 Node 中,new Buffer()
已弃用,new Buffer.from()
是替代品。干杯。
@Sajicode 很高兴我能为其他人找到解决方案! :)
感谢@Sajicode 的提醒!我想知道为什么 vscode 一直在取消我对“新缓冲区”的呼吁,现在我知道了!以上是关于如何显示缓冲图像的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV如何将jpeg图像缓冲区放入cvShowImage