2012-02-24 114 views
1

问题很简单:在集群的Spring MVC环境中存储上传文件的最佳方式是什么?将上传的文件存储在Spring MVC环境中的最佳方式

例如:假设我正在编写社交网络,我必须可以上传个人资料图片。用户将最多只有一个与他的个人资料相关的图像。

解决方案可以在数据库中的用户表中添加一个blob列 - 我读这在集群环境(比包含大量图像的文件夹更容易缩放数据库)时很好。这是真的吗?我如何在JPA(Hibernate和PostgreSQL)环境中实现这一目标?我看到有@Lob注释,但我应该使用什么类型的变量? byte[]

另一种解决方案是将它们存储在硬盘上。什么是存储这些图像的最佳途径?在webapp文件夹中?在类路径中?在Spring上下文之外的另一个文件夹中?

非常感谢您的帮助。

更新:一个我忘记说的重要细节。本网站的管理仪表板(CMS /后端)将用PHP编码(我知道,我知道...),而前端将用Java Spring(MVC)编码。数据库全部由Java部分(JPA)管理。无论最终的选择是什么,它都必须符合这个要求。

+0

[在DB中存储图像的可能的重复 - 是或否?](http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay) – 2012-02-24 22:19:36

回答

0

我宁可不将它存储在数据库中。最好的地方是一些静态文件(或CDN)的服务器。

如果你真的需要你可以存储是作为一个Lob,但我认为这是一个坏主意,性能可伸缩性的原因。

更重要的是,数据库似乎比简单的内容分发网络更昂贵。

相关问题