Java,Tomcat 6 : saving files to local HD

标签 java web-applications tomcat tomcat6

我已经在网上搜索了一段时间(谷歌和 StackOverflow),但还没有遇到这个问题。也许我的查询不正确(请重定向!)

我在 Linux 下的 TomCat 6 上开发并设置了一个 WebApp。 Tomcat 尚未在虚拟主机环境中运行,我可以完全控制服务器。因此,.war 文件被保存到 Tomcat 的标准部署目录中。我遇到的问题是图像:不同的网络服务提供不同大小的图像,需要以统一的大小呈现。

我下载它们并调整它们的大小没有问题,但必须存储图像的本地副本,因为如果实时完成这需要一些时间,而且会浪费大量带宽。我没有将它们保存在 Tomcat 下的 .war 临时目录下,因为服务器关闭会迫使我重新加载所有图像。

我在/home/username/images 下创建了一个不同的目录,然后我通过常规 Apache 在不同的子域下提供服务,.jsp 中生成的 HTML 代码只是文件的正确 URL。如果图像不存在,效果很好。但是,由于权限问题,Tomcat 实例无法删除或覆盖已创建的文件,即使我已将存储图像的文件夹标记为 777 权限。顺便说一句,我认为不需要给它 777 个权限,但是使用 755 个权限(例如),即使在尝试保存新文件时我也会遇到权限问题。

那么:有没有更好的解决方案(我考虑过数据库,但图像目录现在是 250mb,我认为没有必要让数据库过载那么多)?

最佳答案

不要将图像存储在数据库中。您的/home/user/www.example.com/resources 方法方向正确,只需解决特权问题即可。确保该路径位于运行 tomcat(tomcat?)的用户所属的组中,并减少 777,因为它太宽泛了。

关于Java,Tomcat 6 : saving files to local HD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903870/

相关文章:

java - 无法从 jsonObject 获取字符串

java - hibernate 保存正在更新

php - 使用 $_POST 将数据插入数据库时​​出现错误

java - 尝试在应用程序和 servlet 之间建立连接时,URLConnection.getInputStream() 抛出 FileNotFoundException

java - 如果通过 CTRL + C 终止脚本,如何终止由脚本启动的 Java 进程?

Java EE Web 应用程序文件创建

tomcat - 无法从 AWS 云访问 tomcat

java - Tomcat7 在 Ubuntu 14.04 x64 [Digitalocean] 上启动太晚了

tomcat - 我无法显示我的 tomcat 应用程序的图标

java - SWT工具栏问题