首页 > 解决方案 > 从 MYSQL 检索图像并在 HTML 中显示

问题描述

我目前正在开发一个在线文本编辑器,用于编写类似维基百科的文章。
因此我有<input type="file" accept="image/*">HTML。
我想要做的是将文章作为文本保存到 MYSQL 数据库,然后在显示文章时从数据库中获取文本以在页面中显示。但是我将如何使用图像来做到这一点?将它们保存到数据库的最佳方法是什么?我怎样才能从数据库中检索它们并显示它们?

我认为 wikipedia 只是显示一个带有图像链接的 img-tag 作为源:
<img src="link_to_image">
但是我怎么能创建这样的链接呢?

标签: javascriptphphtmlmysql

解决方案


首先,您可以将图像存储在数据库中,但这不是一个好习惯。已经有关于此的帖子:示例

无论如何,我会做的是:

  • 将图像存储在 blob 列中(可能是 base64 字符串)

首先,您必须转换图像,然后将其存储在数据库中。假设您使用的是 PHP,您可以执行以下操作:

$base64 = 'data:image/' . $type . ';base64,' . base64_encode($imageData); 

然后通过简单的插入将其存储在数据库中。

  • 检索图像并将其作为服务的响应返回

在mysql中你应该只做一个选择然后通过(我假设PHP服务)返回它

  • 浏览器端,显示图像:示例

这与您想要做的不同

<img src="link_to_image">

我必须实施与此类似的解决方案并且工作得很好。如果图像很大(例如 2MB)或者您想一次获取多个图像,您可能会遇到问题。

为了实现您想要做的事情,最好的解决方案是将图像存储在允许您提供文件的文件系统中,或者,例如在 AWS S3 中,并将图像 URL 保存在数据库中。


推荐阅读