我目前正在为使用Java,Spring Framework和MySQL而没有ORM的本地公司开发Web应用程序。这是我第一次处理上传文件。
我的情况是系统的一部分允许管理员用户上传商店项目的图像。
目前我的所有资源(如图像)都是这样组织和定位的:(位于tomcat服务器ROOT的解包.war中)
/资源/ IMG /项目/
/资源/ IMG /项目/缩略图
但是我已经认识到,当部署Web应用程序并且用户上传图像时,它将存储在上述位置。因此,当我重新部署时,上传的图像将不会出现。
我的问题是,有更好的位置来存储这些图像吗?或者我错过了什么。我过去几个小时一直在研究,似乎还没有走得太远。我非常感谢能够提供一些知识的人。提前谢谢。
答案 0 :(得分:1)
有很多选项可以存储文件。
MySQL :使用BLOB数据类型将它们存储在MySQL数据库中。优点是您可以在一个位置拥有所有持久性数据,这在备份时非常方便。另一方面,图像数据可能会使数据库迅速膨胀。
在文件系统中:将它们存储在文件系统中,例如在/ var / yourapp / uploaded-images中。您需要告诉您的应用程序在哪里可以找到该目录。有很多方法可以做到这一点:
当该磁盘因大量数据崩溃时确保您有救援计划^^
单独的数据库 由于图像数据可能会使数据库快速膨胀,因此您可能希望为图像使用其他数据库。在许多架构中,二进制数据与" real"业务数据。
我想这些是您问题的典型解决方案。但是,没有标准的建议选择什么取决于你没有提供或不能提供的事实:
无论你选择什么,它都比在爆炸战争中存储文件更好:)