2

在我的 webapp 中,我让用户上传文件(图像和文档),这些文件以后应该可供其他用户使用。

这是 glassfish-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD 
    GlassFish Application Server 3.1 Servlet 3.0//EN" 
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <parameter-encoding default-charset="UTF-8" />
<property name="alternatedocroot_1"
         value="from=/uploads/* dir=C:/glassfish31/glassfish/domains/domain1" />
</glassfish-web-app>

它可以工作,但我想在其他系统(linux/windows)上部署应用程序。

Q1:有什么办法可以避免在这里写完整的路径,至少让它在 linux/windows 上可移植?

Q2:上传文件时,我使用 primefaces 并使用指向与上述相同目录的硬编码字符串将文件存储到光盘。

public static final String ALTERNATE_DOC_ROOT_1 = "C:/glassfish31/glassfish/domains/domain1/uploads";

是否有一些 API 可以让我的代码查找备用 docroot 的绝对路径,以便可以在其中存储文件?

4

1 回答 1

0

Q1:简单地用点替换绝对路径使其默认为:

C:/glassfish31/glassfish/domains/domain1

<property name="alternatedocroot_1"
     value="from=/uploads/* dir=." />

所以我想这也适用于linux,但没有测试

于 2012-10-17T07:03:20.010 回答