这是我的问题...我有一个小型原型(prototype)应用程序(恰好在 AWS 上托管的 Grails 中),我想添加用户上传几张(最多 10 张)图像的功能。我想将这些图像保存在服务器机器的磁盘上,在我的 WAR 之外的文件夹位置。
我意识到可能存在涉及更多 Web 服务器和优化的静态 Assets 服务的 super 可扩展解决方案,但对于我可能获得的大约 100 名用户来说,这确实不值得付出努力和成本。
那么,将虚拟文件夹从我的 url 映射到磁盘上的物理文件夹的最简单方法是什么?我有点想...
http://myapp.com/static
映射到我可以配置的文件夹,例如
/var/www/static
这样我就可以在我的代码中...
<img src="/static/user1/picture.jpg"/>
我并不特别介意生成的物理文件夹是否可以直接浏览。安全最终会成为一个问题,但一开始就不是。
那么,我有哪些选择?我查看了 apache 站点上的虚拟主机,但感觉比我需要的要复杂。
我不想使用 Grails 静态渲染插件。
最佳答案
我遇到了类似的问题,最终构建了自己的 servlet 来读取文件并将其流式传输到输出。问题是,如果您不支持 mime 类型、gzip、etags 和缓存 header (例如 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
关于tomcat - 将文件系统上的文件夹映射到 Tomcat 中的 url 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438483/