javascript - 从 MYSQL 检索图像并在 HTML 中显示
问题描述
我目前正在开发一个在线文本编辑器,用于编写类似维基百科的文章。
因此我有<input type="file" accept="image/*">
HTML。
我想要做的是将文章作为文本保存到 MYSQL 数据库,然后在显示文章时从数据库中获取文本以在页面中显示。但是我将如何使用图像来做到这一点?将它们保存到数据库的最佳方法是什么?我怎样才能从数据库中检索它们并显示它们?
我认为 wikipedia 只是显示一个带有图像链接的 img-tag 作为源:
<img src="link_to_image">
但是我怎么能创建这样的链接呢?
解决方案
首先,您可以将图像存储在数据库中,但这不是一个好习惯。已经有关于此的帖子:示例
无论如何,我会做的是:
- 将图像存储在 blob 列中(可能是 base64 字符串)
首先,您必须转换图像,然后将其存储在数据库中。假设您使用的是 PHP,您可以执行以下操作:
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($imageData);
然后通过简单的插入将其存储在数据库中。
- 检索图像并将其作为服务的响应返回
在mysql中你应该只做一个选择然后通过(我假设PHP服务)返回它
- 浏览器端,显示图像:示例
这与您想要做的不同
<img src="link_to_image">
我必须实施与此类似的解决方案并且工作得很好。如果图像很大(例如 2MB)或者您想一次获取多个图像,您可能会遇到问题。
为了实现您想要做的事情,最好的解决方案是将图像存储在允许您提供文件的文件系统中,或者,例如在 AWS S3 中,并将图像 URL 保存在数据库中。
推荐阅读
- java - 在一个语句中使用 getGeneratedKeys() 从 java 在 oracle 数据库中插入多行
- json - 字符串中的 `\` 不会转义任何内容
- php - Dynamically creating OR conditions by passing an array to a query in MySQL PHP
- service-worker - Service worker: Cache by filename only not url
- java - Spark:从 2.1.0 升级到 2.2.1 时,Dataframe 操作真的很慢
- concourse - Concourse CI shell 命令被引用
- c# - 用于处理 WEB API 请求的 HTTP 4xx 错误的 ASP.NET COR 2 处理程序
- google-bigquery - BigQuery 从 sftp 检索数据
- ruby-on-rails - seed.rb 中的关联
- javascript - Python Parsing Javascript with beautifulsoup