最近在使用bootstrap-fileinput上传文件,但是后台接收不到MultipleHttpServletRequest。
下面是HTML代码:
<form role="form" enctype="multipart/form-data">
<div class="form-group">
<label for="UploadFile" >上传文件路径</label>
<input type="file" multiple="multiple" class="file-loading" id="UploadFile" name="UplodaFile">
</div>
</form>
下面是后台代码
@ResponseBody
@RequestMapping(value="/upload",method = RequestMethod.POST)
public Response insert(MultipartHttpServletRequest request, @RequestParam(required = false) MultipartFile[] files, String filetype, String purpose, String description) throws Exception {
System.out.println("upload");
Response response2 = new Response().failure("add job error");
return response2;
}
点击上传之后显示错误信息如下:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]: org.apache.catalina.connector.RequestFacade@4649f8c5
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
如果去掉MultipartFile并把MultipartHttpServletRequest改为HttpServletRequest则能够正常接收参数。