如何转换保存在db中的二进制图像数据并在浏览器中显示
Posted
技术标签:
【中文标题】如何转换保存在db中的二进制图像数据并在浏览器中显示【英文标题】:How to convert binary image data saved in db and display in browser 【发布时间】:2020-11-25 00:00:29 【问题描述】:所以我正在创建一个允许用户发布图像的 Web 应用程序,我使用 multer 将图像作为二进制文件保存到我的 mongo 数据库中,现在我想检索图像并将其呈现在网页上,但是当我执行时图像不显示使用 img 标签,请你知道我如何将二进制图像数据转换为普通的网页可读图像格式,刚刚发现我不能在反应中使用“fileSystem”,我想知道是否有任何方法可以做到这一点或任何 sn- p 的代码我可以用来完成这个任务,谢谢!
【问题讨论】:
我的第一个想法是创建一个数据 img 标签。您可以对数据进行编码并将其直接放入 html 图像标记中。<img src="DATA GOES HERE">
。见***.com/questions/8499633/…
看看这里:codeburst.io/…
【参考方案1】:
如果您不能/不想将其存储为常规文件并提供服务,您可以尝试使用 base64 格式显示它。你可以在这里找到更多信息:How to display Base64 images in HTML?
但简单来说,你只需要显示这样的标签<img src="data:image/png;base64,base 64 here ..." />
但我强烈建议您使用一些文件上传功能,而不是将原始字节保存到数据库中。
【讨论】:
好的,感谢我看到的评论,我想从现在开始我会将图像保存为普通 blob以上是关于如何转换保存在db中的二进制图像数据并在浏览器中显示的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET - 如何在浏览器中显示图像而不将图像保存在临时文件中?
如何在 applicationDidEnterBackground 上保存 SQL 数据/关闭 DB 并在 applicationWillEnterForeground 上恢复