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

Database 将图像保存在数据库或服务器目录中,database,image,file-upload,jsf-2,primefaces,Database,Image,File Upload,Jsf 2,Primefaces,我使用java、tomcat、jsf和primefaces 我的产品表中有一个字段“image”,我想问你哪一个更好:将映像保存在数据库中,还是保存在服务器的一个目录中 如果第二个案例是最好的,请向我详细解释如何管理它(我从未有机会遇到过这个案例) 提前感谢您是否希望将图像二进制文件保存在数据库中或将图像文件保存在服务器目录中取决于您的需要 这场永无止境的辩论仍在继续,你可以通过几次关键的一击很容易地找到它 我是这样做的(第二种方法),它从不让我失望: 假设您正在建设一个电子商务网站,并希望托管

我使用java、tomcat、jsf和primefaces

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

如果第二个案例是最好的,请向我详细解释如何管理它(我从未有机会遇到过这个案例)


提前感谢

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

这场永无止境的辩论仍在继续,你可以通过几次关键的一击很容易地找到它

我是这样做的(第二种方法),它从不让我失望:
假设您正在建设一个电子商务网站,并希望托管卖家上传的图片,如产品图片,然后再显示它们

  • 将上载的图像文件物理保存在war之外的服务器上。假设目录为/baseFolder/,文件的完整路径为/baseFolder/path/to/image.jpg
  • 在Tomcat中添加一个虚拟主机,使您的指向物理目录/baseFolder/。还有许多其他方法可以实现这种映射
  • 在数据库中存储相对路径/path/to/image.jpg。因此,当你想展示它时,你可以简单地说:
    。在这种情况下,它将是
  • 当然,有很多不同的方法来实现同样的目标。 这是我能想到的解释如何管理it的最简单方法。

    希望有帮助。

    您的图像有多大?讨论在决定是否将图像存储在数据库或文件系统中时应考虑的一些因素。即使它是为不同于您使用的堆栈编写的。我的拙见是,在数据库中使用图像会使数据库和服务器过载。我使用第三方服务器目录来存储图像(Amazon S3),它具有良好的性能,而且非常便宜。@atbegin,但请按照我在这篇文章中的回答进行操作。