我使用Java Spring,Hibernate和JSP创建了一个Web应用程序。它基本上是我从头开始制作的博客,所以我可以添加一个带有图片的新博客文章。
我使用Heroku来托管和部署应用程序。
当我想在博文中发布图片时,我会:
该图像目前存储在' WEB-INF'之外的资源文件夹中。除了,当我添加更多博客文章时,我会有很多大尺寸的图片。我不知道应该在哪里存储这些图像以及我应该如何访问它们。我想把它存储在文件系统中,但是每次添加更多图像时我都不会在heroku上重新部署应用程序吗?另一个选择是拥有一个公共Dropbox文件夹并将图像链接到那里,但这会打开我的整个Dropbox目录给公众。有没有更好的方法来完成所有这些,特别是管理这么多大图片?
答案 0 :(得分:3)
在文件系统中保存文件不是可扩展的解决方案。如果为Web应用程序添加新服务器,则无法针对任何请求正确显示图像。
您必须在分布式环境中保存图像。它可以是数据库上的LOB列(例如Postgres)或Amazon S3存储系统。
访问类型非常不同,但两个系统都是图像的一个很好的选择。如果它们的尺寸很大,那么S3是最好的选择。