疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

你知道SpringMVC上传文件要几步吗?


 

如果要在控制器里面得到上传的文件,只需要简单的三个步骤即可完成。
1.页面上有个上传的表单,enctype要设置为multipart/form-data,并且method为post。
 
<form action="" method="post" enctype="multipart/form-data">
    请选择要上传的文件<input type="file" name="file"/>
    <button type="submit">上传</button>
</form>
 
2.第二步的时候在Servlet 3.0最简单,只需要在web.xml文件里面配置DispatcherServlet的时候,增加<multipart-config/>子元素即可
<servlet>
        <servlet-name>file</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <multipart-config />
</servlet>
<servlet-mapping>
        <servlet-name>file</servlet-name>
        <url-pattern>/file/*</url-pattern>
</servlet-mapping>
 
3.在Controller里面的方法,可以非常简单得到上传的文件,使用@RequestParam即可得到文件
@RequestMapping(method = RequestMethod.POST)
public View upload(@RequestParam("file") MultipartFile file) {
        // 调用业务逻辑层的代码保存文件到文件服务中
   fileService.save(file);
        View view = new RedirectView("/file", true);
        return view;
}
要注意的是:以前要配置MultipartResolver的,现在不需要了!
 
【阅读原文】