我有一个 ajax 文件上传系统正在运行。
我想要做的是将文件存储在 Apache 的 webroot 下的目录中,该应用程序在 tomcat 中运行,我更喜欢将文件存储在 webroot 之外(在 tomcat 中),并在 Apache webroot 的某个地方存储,因为我们定期更新应用程序。
我有这个:
var root = new java.io.File("").getAbsolutePath()
这可以给我应用程序的位置。
我真的不想将其添加到应用程序的 config.xml 中,所以我想知道是否有人知道如何在 Apache 的 webroot 发生更改或我们交换服务器并且设置不同时找到它的位置?
哇,我输入了很多“webroot”..
非常感谢您的帮助,非常感谢:)
最佳答案
查找当前 apache 位置是一件棘手的事情,特别是当您需要处理虚拟主机时。您可能应该为此使用属性文件。您可以有多个Props files ,每个环境一个。
Lift 有多种加载属性文件的方法,我强烈建议您找到使用它的解决方案。例如,您甚至可以覆盖在 Lift 中查找配置文件的位置。
或者,您可以将 apache home 设置为 jetty 启动脚本中的变量,例如:
JAVA_OPTIONS="$JAVA_OPTIONS -Dapache.home=/etc/httpd"
然后在您的代码中使用它:
val apacheHome = System.getProperty("apache.home")
请注意,如果此类属性不存在,则 System.getProperty 将返回 null。您可能需要使用Option
,使检查更加惯用:
val apacheHome = Option(System.getProperty("apache.home"))
// apacheHome: Option[java.lang.String] = ...
关于java - Scala Lift - 将文件保存到 apache 中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370279/