Spring Java多部分数据文件保存

时间:2014-03-03 14:16:56

标签: java spring file-upload

我在Spring工作。

我的控制器上有这个代码

@Controller
public class FileUploadController {

    @RequestMapping(value = "/file-upload", method = RequestMethod.POST)
    @ResponseBody
    public String uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request,ServletContext context) throws IOException {

        if(!file.isEmpty()) {

            file.transferTo(new File("/data.xml"));     
            return "ok";
        } 
        else {
            return "Empty";
        }
    }
}

我只想将上传的文件保存到根目录。

在我看来,我使用了一个绝对的Root路径,但我现在不知道如何找到它。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

你可以获得真正的道路 HttpServletRequest.getSession().getServletContext()但这会有所帮助如果您的应用程序有会话。如果您的应用程序是无会话的,那么您可以通过实施ServletContextAware来实现。

如果申请有会话,那么

request.getSession().getServletContext().getRealPath("WEB-INF");

另一种获得真实路径的方式。

答案 1 :(得分:0)

从您的一个对象获取类加载器并使用它来获取其本地路径。这将为您提供Tomcat中执行点的路径。从那里你可以找到你想要的位置。

obj.getClass()的getResource( “/”)。