在Spring MVC上传后保存文件的位置

时间:2015-12-06 14:18:13

标签: java jsp spring-mvc file-upload

我有一个表单允许用户在SPring MVC中使用<form:input type="file"/>上传文件(jpg)

当我保存文件时,我没有从此代码中收到任何错误,但该文件未保存在C:\ testTile.jpg中:

   public void salvaFoto(CommonsMultipartFile foto){
        ...
        foto.transferTo(new File("C:\\testTile.jpg")); //This path is
         //just a try, of course I should save the file in my Application url
        ...
    }

我的问题是:如何检索应用path以获得URI对象的File? 我尝试使用ServletContext.getContextPath(),但文件也没有保存。

谢谢

1 个答案:

答案 0 :(得分:1)

  

当我保存文件时,我没有从这段代码中得到任何错误,但是   文件未保存在C:\ testTile.jpg:

问题在于您没有足够的权限写入该路径。

以调试模式运行应用程序并在此调用之前标记断点并检查它显示的路径。您可以使用调试模式自行调试解决方案。

如果您想要存储在应用程序的WEB-INF /../文件夹中,这可能会有所帮助

String path = getServletContext().getRealPath("WEB-INF/../");
File file = new File(path);
String fullPathToYourWebappRoot = file.getCanonicalPath();