如何在Spring中使用multipart / form-data时获取表单参数?

时间:2017-06-07 12:20:08

标签: java html spring jsp spring-mvc

我正在尝试使用 html 表单获取文件。当我使用enctype=multipart/form-data时,我无法获取表单参数和文件上传。

Spring 中使用enctype=multipart/form-data时是否需要进行任何特殊配置?

JSP代码:

<form  method="POST" enctype="multipart/form-data" action="/bucket">
      <input type="file" name="file" id="file"/>
      <input type = "submit"  value="Upload" />
</form>

控制器代码:

@RequestMapping(method = RequestMethod.POST, value = "/bucket")

    public ModelAndView exec(HttpServletRequest request) throws IOException {

           String fileString = request.getParameter("file");//this is NULL.

    }

当我从表单中删除multipart/form-data时,我可以获取该文件但它已损坏。

任何有关正在发生的事情的领导都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

尝试使用@RequestParam从您的请求中提取文件

@RequestMapping(method = RequestMethod.POST, value = "/bucket")
public ModelAndView exec(@RequestParam(value = "file") MultipartFile file) throws IOException {

       InputStream fileStream = file.getInputStream(); //Return an InputStream to read the contents of the file from.

}