在我的网络应用程序中,用户可以上传以后可供其他用户使用的文件(图像和文档)。
这是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的绝对路径,以便它可以在其中存储文件?
答案 0 :(得分:0)
Q1:只需用点替换绝对路径,默认为:
C:/glassfish31/glassfish/domains/domain1
<property name="alternatedocroot_1"
value="from=/uploads/* dir=." />
所以我想这也适用于linux,但经过测试