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");
}
原文地址:https://www.cnblogs.com/pwenlee/p/6644591.html