2013-03-26 68 views
0

我想上传一个文件到服务器上,使用带有RELATIVE路径的servlet。每当我上传一个文件时,它应该上传到我的项目的主目录下的一个文件夹中。我不想使用绝对路径,并且该路径必须保存到数据库中。上传服务器上的文件,而不使用相对路径

回答

0

在servlet中可以找到类似下面的类路径中的某些资源的路径。

URL url = this.getClass().getClassLoader().getResource("someFile.properties"); 
String pathToFile = url.getPath(); 

从'pathToFile'变量中,您可以找到项目主目录的根目录。然后,您可以将上传的文件保存到该目录。请注意,如果您将项目部署为war文件,则可能无法执行(因为您无法写入war文件)。但是如果以爆炸方式部署它,它将始终有效。

if pathToFile = C:/someFolder/yourProject/WEB-INF/classes/someFile.properties。您可以推断出您的主目录是C:/ someFolder/yourProject,因为/WEB-INF/classes/someFile.properties部分将始终是相同的

1

您可以使用servlet API的getRealPath()来获取实际的物理路径上下文根,您可以将上传的文件保存在那里。

相关问题