SpringMVC中MultipartFile参数问题

如果方法的参数中带了MultipartFile(不管@RequestParam是true还是false),那么spring mvc就会先判断该请求是不是multipart请求。如果请求参数中没有带multipartFile,则会报错"org.springframework.web.multipart.MultipartException: The current request is not a multipart request"。这种情况导致了文件是必传的参数,从网上找到了大神的回答,有解决方案如下:

方法的参数中不要MultipartFile,方法体中做好判断,代码如下

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart){ 
    MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
    MultipartFile file = multipartRequest.getFile("file");
}

 

posted @ 2017-03-30 10:26  季樊  阅读(7744)  评论(0编辑  收藏  举报