在我的 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 的绝对路径,以便可以在其中存储文件?