将图像保存在数据库或服务器目录中

时间:2013-03-25 23:13:05

标签: database image file-upload jsf-2 primefaces

我使用java,tomcat,jsf和primefaces

我的产品表中有一个字段“image”,我想问你哪个更好:将图像保存在数据库中或服务器的一个目录中

如果第二种情况是最好的,请向我解释如何管理它(我从来没有机会遇到这种情况)

提前谢谢

1 个答案:

答案 0 :(得分:0)

是否要将图像二进制文件保存在数据库中将图像文件保存在服务器目录中取决于您的需要。

永无止境的争论仍在继续,你可以通过几次击键轻松找到它。

我是这样做的(第二种方法),它永远不会令我失望:
假设您正在构建一个电子商务网站,并希望托管卖家上传的图像,如产品图片,并在以后显示。

  1. 将上传的图像文件保存在您的服务器上在战争之外。请说明目录是 / baseFolder / 以及文件的完整路径是 /baseFolder/path/to/image.jpg
  2. 在Tomcat中添加虚拟主机,以便 http://localhost:8080/imageBase/ 指向物理目录 / baseFolder / 。还有很多其他方法可以进行这种映射。
  3. 在数据库中存储相对路径 /path/to/image.jpg 。因此,当您想要显示它时,您可以简单地说:<img src="#{webappRoot}/baseFolder/#{pathRetrievedFromDatabase}"/>。在这种情况下,它将是<img src="#{webappRoot}/baseFolder/path/to/image.jpg"/>
  4. 当然有很多不同的方法来实现同样的目标。 这是我能想到解释如何管理的最简单方法 希望它有所帮助。