Java 在Spring MVC Hibernate应用程序中,我应该在哪里保存用户映像?
我正在使用MySQL创建一个Spring MVC Hibernate应用程序。我应该将用户图像保存在哪里:在数据库中或某个文件夹中,如Java 在Spring MVC Hibernate应用程序中,我应该在哪里保存用户映像?,java,hibernate,spring-mvc,Java,Hibernate,Spring Mvc,我正在使用MySQL创建一个Spring MVC Hibernate应用程序。我应该将用户图像保存在哪里:在数据库中或某个文件夹中,如WEB-INF/下 这取决于你想要完成什么 如果这些是静态图像,并且您有固定数量的用户,则可以考虑在Web-INF/.2下保存它们。BR> 但是,很可能情况并非如此,用户数量不一,必须为每个用户存储一个用户 可能的解决方案: A.对于用户,请存储图像名称,并具有从文件系统中的已知目录存储/加载的约定 B.将图像作为blob存储在数据库中。考虑一下 < P>这取决于
WEB-INF/
下 这取决于你想要完成什么如果这些是静态图像,并且您有固定数量的用户,则可以考虑在Web-INF/.2下保存它们。BR> 但是,很可能情况并非如此,用户数量不一,必须为每个用户存储一个用户
可能的解决方案:
A.对于用户,请存储图像名称,并具有从文件系统中的已知目录存储/加载的约定
B.将图像作为blob存储在数据库中。考虑一下 < P>这取决于你想要完成什么。BR> 如果这些是静态图像,并且您有固定数量的用户,则可以考虑在Web-INF/.2下保存它们。BR> 但是,很可能情况并非如此,用户数量不一,必须为每个用户存储一个用户
可能的解决方案:
A.对于用户,请存储图像名称,并具有从文件系统中的已知目录存储/加载的约定
B.将图像作为blob存储在数据库中。考虑检查当然不在Web-Fin中。您可能想将它们保存在文件系统中,但不在WebApp的目录中保存。首先,如果应用程序被打包成一场战争,那么它很可能不存在。其次,一旦你重新部署应用程序,你就会失去所有东西。桌面应用程序不会将其用户数据存储在安装目录中,是吗?webapps也应该如此
现在,由于图像通常很大,并且不可搜索,您可能希望将它们存储在文件系统中,并且只将它们的名称、路径、哈希和/或mime类型存储到数据库中。但这取决于您的应用程序,如果它们需要由其他应用程序提供/使用,这些应用程序是否可以访问数据库和/或文件系统等。您可以决定。当然不在WEB-INF中。您可能希望将它们保存在文件系统中,但不保存在webapp的目录中。首先,如果应用程序被打包成一场战争,那么它很可能不存在。其次,一旦你重新部署应用程序,你就会失去所有东西。桌面应用程序不会将其用户数据存储在安装目录中,是吗?webapps也应该如此 现在,由于图像通常很大,并且不可搜索,您可能希望将它们存储在文件系统中,并且只将它们的名称、路径、哈希和/或mime类型存储到数据库中。但这取决于您的应用程序,是否需要由其他应用程序提供服务/使用,这些应用程序是否可以访问数据库和/或文件系统等。您可以选择:
对于图像,您可能希望执行一些缩略图等等,使用文件系统选项会更便宜。如果您将它们保存在文件系统上,我如何在前端访问它们?与您将它们保存在数据库中的方式相同:使用指向从文件加载图像字节的控制器方法的URL,并将它们发送到响应输出流。但它不是太大吗?如果我在前端有120篇文章,每篇文章有5张图片?你到底在问什么?无论图像存储在何处,在一个页面中加载600个图像的成本确实很高。但这主要取决于图像的大小、浏览器和服务器之间的带宽等。现在取决于图像存储在服务器上的位置。如果将它们保存在文件系统中,如何在前端访问它们?与将它们保存在数据库中的方式相同:使用指向控制器方法的URL,该方法将从文件加载图像字节,并将它们发送到响应输出流。但它不是太大吗?如果我在前端有120篇文章,每篇文章有5张图片?你到底在问什么?Whe