2

这是我的问题...我有一个小型原型应用程序(恰好在 AWS 上托管的 Grails 中),我想添加用户上传一些(最多 10 个)图像的能力。我想将这些图像保存在服务器机器上的磁盘上,位于我的 WAR 之外的文件夹位置。

我意识到可能有一个超级可扩展的解决方案,涉及更多的 Web 服务器和优化的静态资产服务,但对于我可能获得的大约 100 个用户来说,这真的不值得付出努力和成本。

那么,我可以将虚拟文件夹从我的 url 映射到磁盘上的物理文件夹的最简单方法是什么?我有点想...

http://myapp.com/static

映射到我可以配置的文件夹,例如

/var/www/static

所以我可以在我的代码中......

<img src="/static/user1/picture.jpg"/>

我并不特别介意生成的物理文件夹是否可以直接浏览。安全性最终会成为一个问题,但它不是一开始的。

那么,我有哪些选择?我查看了 apache 站点上的虚拟主机,但感觉比我需要的要复杂。

我不想使用 Grails 静态渲染插件。

4

1 回答 1

0

我遇到了类似的问题,最终构建了自己的 servlet 来读取文件并将其流式传输到输出。问题是,如果您不支持 mime 类型、gzip、etags 和缓存头(例如 Last-Modified),这可能会非常低效。我最终编写了所有这些代码(并使用 ehcache 进行服务器端缓存),但这并不简单。

但是,这个 StackOverflow 问题有许多有用的答案。

将文件系统上的文件夹映射到 Tomcat 中的 url 的最简单方法是什么?

更吸引人的选项之一似乎是 FileServlet。

http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html

于 2011-08-02T04:10:24.880 回答