1

在我的项目中,我目前正在使用直接链接,这些存储上传到服务器的特定文件,这些位置都在项目的文件夹中(文件上传)

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

但这不是一个理想的情况,因为我目前正在多台机器上进行测试,并且每台机器都需要不同的路径,所以我想知道,是否可以创建一条路径,以便它在哪台机器上无关紧要

4

1 回答 1

2

只需使其在外部可配置。有多种方法可以实现这一目标。

  1. 在服务器启动期间设置环境变量。

    SET UPLOAD_LOCATION=C:\path\to\uploads
    

    可用如下:

    String uploadLocation = System.getenv("UPLOAD_LOCATION");
    
  2. 在服务器启动期间设置 VM 参数。

    -Dupload.location="C:\path\to\uploads"
    

    可用如下:

    String uploadLocation = System.getProperty("upload.location");
    
  3. 将其设置为属性文件条目。

    upload.location=C:\path\to\uploads
    

    它可以通过通常的PropertiesAPI 方式使用:

    String uploadLocation = properties.getProperty("upload.location");
    

    属性文件本身的位置实际上是一个完整的问题,这里已经回答了:在哪里放置以及如何读取基于 servlet 的应用程序中的配置资源文件?

无论哪种方式,您都可以轻松地引用文件,如下所示:

File some = new File(uploadLocation, "some.ext");
于 2013-02-17T03:07:14.210 回答