【发布时间】:2009-02-24 06:30:36
【问题描述】:
在 Tomcat 中指定用于存储图像的外部目录的最佳实践?
【问题讨论】:
标签: java tomcat jakarta-ee
在 Tomcat 中指定用于存储图像的外部目录的最佳实践?
【问题讨论】:
标签: java tomcat jakarta-ee
我们使用的方法,
使用System.getProperty 获取基本目录路径 (-D IMAGES_BASE_DIR="你的 Base_Image_DIR")
接下来我们可以根据需要附加/嵌套更多目录
【讨论】:
独立于容器的最佳答案是将位置放在 JNDI 中。
对于 Tomcat,您可以在 Tomcat 类路径中放置一个包含特定信息的类。这对 Web 应用程序是可见的。
【讨论】:
我假设您的图像文件不需要在类路径中。执行此操作的一个好方法是在 Web 应用程序根目录之外指定一个目录。然后,您的应用程序应允许使用绝对路径值配置此 baseUrl 属性(由 File 类指定,例如 "C:/Dev/mypicsdir"。
将此目录保留在您的根目录和项目之外,您可以重新部署并更新到应用程序的新版本,而无需对存储的文件执行任何操作。如果应该可以从浏览器访问这些图像,请在 Tomcat 中创建一个单独的 Web 应用程序。
如果可能,将其限制为单个目录,但您需要注意保存的文件是唯一的。一种方法是自己控制文件名,或者让用户控制文件名。在最后一种情况下,您还必须检查具有所选名称的文件是否已经存在。
【讨论】:
如果是 linux,您可以轻松地将符号链接映射为 /imagesext 目录
【讨论】: