数据库位于远程位置时检索图像

时间:2010-12-26 18:27:28

标签: java database

我正在使用Java开发应用程序,我的应用程序将被多个不同用户同时访问,数据库驻留在中央服务器中。通过在Hibernate配置文件中提供适当的服务器IP来处理从远程服务器访问数据库。

我的问题是,我必须存储关于数据库的每个用户的图片,我听说不建议将图像存储在数据库中并从数据库中检索它,并且对性能有负面影响。是这样吗?

我可以通过哪些其他方式实现此目标?最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

好吧,将图像存储在文件系统中的app服务器上,并保存对用户表的image_location列的引用。参考:Photo storage for web app


Side Note :如果您有多个应用服务器,最好将文件存储在所有应用服务器可以访问的共享位置。将文件存储在数据库中并不是一个好主意。


如@sasidhar所示,这就是我要做的事情:

  1. 在其上制作带有Unix OS的中央影像服务器。将确保它具有固定的IP。
  2. 在您的应用中,使用JSch将客户端计算机上的副本文件保护到服务器上的专用目录
  3. 使用“/”
  4. 中图像的相对路径更新users表的image_location
  5. 查看时,我会检查用户的相对路径,然后使用JSch安全文件传输协议再次获取它。
  6. 顺便说一句,设置FTP可能是更好的选择。


    为什么不使用DB作为文件存储?见这里:Storing Images in DB - Yea or Nay?