Java 如何在数据库中更好地保存带有图像的丰富字符串内容?
当我将带有图像的丰富字符串内容保存到数据库中时,我遇到了一个问题,为此,我手头有一些解决方案:Java 如何在数据库中更好地保存带有图像的丰富字符串内容?,java,mysql,database,string,image,Java,Mysql,Database,String,Image,当我将带有图像的丰富字符串内容保存到数据库中时,我遇到了一个问题,为此,我手头有一些解决方案: 首先将字符串内容的图像放在硬盘上,然后保存包含这些图像路径的字符串内容,对于稍后在页面上显示丰富的字符串内容,有两种方法: 如果图像包含在带有绝对路径的字符串内容中,我们将直接在页面上显示它,但这种方式可能会遇到域URL更改的问题,这意味着如果我们的系统部署在另一台机器或URL上,这些图像将无法再正确显示 如果图像包含在具有相对路径的字符串内容中,为了确保字符串内容可以显示在所有路径页面上,我们需
- 首先将字符串内容的图像放在硬盘上,然后保存包含这些图像路径的字符串内容,对于稍后在页面上显示丰富的字符串内容,有两种方法:
- 如果图像包含在带有绝对路径的字符串内容中,我们将直接在页面上显示它,但这种方式可能会遇到域URL更改的问题,这意味着如果我们的系统部署在另一台机器或URL上,这些图像将无法再正确显示
- 如果图像包含在具有相对路径的字符串内容中,为了确保字符串内容可以显示在所有路径页面上,我们需要在图像路径前面动态添加域路径,这会导致性能低下,而且非常复杂
- 使用一种支持存储字符串和图像流的新型列,但我不确定这是否现实
非常感谢。据我所知,目前方法二在RDBMS中没有直接的方法。没有存储字母数字和字节的数据类型 你只有方法一。正如你所指出的,两者都有利弊。但是,我建议如下,而不是采用建议的两种方法(绝对路径和相对路径)
http://localhost/image/{id}
将返回步骤2返回的id的图像Abc定义
希望这能解决您的问题。Tks@shazin!!这听起来是个好主意。正如您所教的,像验证代码的实现一样,图像检索方法需要将此图像流写入响应,对吗?这种解决方案可能会导致性能问题,因为每次图像检索时,它都会在内存中读取并写入响应,相反,如果我们通过Web服务器的静态访问方式直接使用URL访问图像,它将非常高效,对吗?但是无论如何,如果有最好的解决办法,我愿意接受你的建议。非常感谢。
Abc def <img src="/image/{id}">