在我的项目中我目前正在使用直接链接,这些存储特定文件会上传到服务器,这些位置都在项目的文件夹中(fileupload)
destinationPDF=D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/
destination=D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/
fileList =D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/Directory Files/directoryFiles.txt
但这不是一个理想的情况,因为我目前正在多台机器上进行测试,每台机器都需要不同的路径,所以我想知道,是否有可能创建一条路径,以便它与哪台机器无关
答案 0 :(得分:2)
只需将其外部配置即可。有多种方法可以实现这一目标。
在服务器启动期间设置环境变量。
SET UPLOAD_LOCATION=C:\path\to\uploads
可以通过以下方式获得:
String uploadLocation = System.getenv("UPLOAD_LOCATION");
在服务器启动期间设置VM参数。
-Dupload.location="C:\path\to\uploads"
可以通过以下方式获得:
String uploadLocation = System.getProperty("upload.location");
将其设置为properties file条目。
upload.location=C:\path\to\uploads
它采用通常的Properties
API方式:
String uploadLocation = properties.getProperty("upload.location");
属性文件本身的位置实际上是一个完整的问题,已在此处回答:Where to place and how to read configuration resource files in servlet based application?
无论哪种方式,您都可以轻松地按如下方式引用文件:
File some = new File(uploadLocation, "some.ext");