这是我的问题......我有一个小型原型应用程序(碰巧在AWS上托管的Grails),我想添加用户上传一些(最多10个)图像的能力。我想将这些图像保存在服务器计算机上的磁盘上,位于WAR之外的文件夹位置。
我意识到可能存在一个超级可扩展的解决方案,涉及更多的Web服务器和优化的静态资产服务,但对于我可能获得的大约100个用户来说,这真的不值得付出努力和成本。
那么,从我的url映射到磁盘上的物理文件夹的虚拟文件夹最简单的方法是什么?我有点想......
http://myapp.com/static
映射到我可以配置的文件夹,例如
/var/www/static
所以我可以在我的代码中...
<img src="/static/user1/picture.jpg"/>
我不特别介意生成的物理文件夹是否可以直接浏览。安全最终将成为一个问题,但它不是一开始的。
那么,我的选择是什么?我查看了apache站点上的虚拟主机,但感觉比我需要的更复杂。
我不想使用Grails静态渲染插件。
答案 0 :(得分:0)
我遇到了类似的问题,最终构建了自己的servlet来读取文件并将其传输到输出。问题在于,如果您不支持mime类型,gzip,etags和缓存标头(例如Last-Modified),这可能效率非常低。我最终编写了所有这些(并使用ehcache进行服务器端缓存),但这并不简单。
但是,此StackOverflow问题有许多有用的响应。
What is the simplest way to map a folder on the file system to a url in Tomcat?
其中一个更吸引人的选择似乎是FileServlet。
http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html