java.lang.ClassCastException: StandardMultipartHttpServlet

springmvc升级springboot2过程中做附件上传报错:

java.lang.ClassCastException: org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile cannot be cast to org.springframework.web.multipart.commons.CommonsMultipartFile;

请求参数就是request和response两个,没有其他的。

网上排查说是在application.properties中添加

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=50MB

这个配置我已经添加,但是解析依然不成功,然后stackOverFlow上说的是配置独立的bean对象来代替默认生成的解析对象。

代码如下:

/**
 * 过滤器配置结束
 */

@Bean(name = "multipartResolver")
public CommonsMultipartResolver getCommonsMultipartResolver() {
   CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
   //20MB
   multipartResolver.setMaxUploadSize(20971520);

   // 3MB
   multipartResolver.setMaxInMemorySize(3048576);
   return multipartResolver;
}

 

这两个配置都有以后,再次尝试,发现可以正常解析上传文件,不再报类转换异常的错误。

你可能感兴趣的:(学习,springboot2,文件上传,类型转换异常)