【问题标题】:How to fetch form parameters while using multipart/form-data in Spring?在 Spring 中使用 multipart/form-data 时如何获取表单参数?
【发布时间】:2017-06-07 12:20:08
【问题描述】:

我正在尝试使用 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 时,我能够获取文件但它已损坏。

任何有关正在发生的事情的线索将不胜感激。

【问题讨论】:

  • 你应该使用@RequestParam("file") MultipartFile file从jsp接收文件,同时接收多部分表单数据。
  • 现在解决了。实际上,要在 Config 文件中创建的 bean 没有被调用。

标签: java html spring jsp spring-mvc


【解决方案1】:

尝试使用@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.

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 2020-07-23
    • 2018-01-28
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多