看了很多博客,原因好像是springboot自带的org.springframework.web.multipart.MultipartFile和Multipart冲突。

记录一种亲测有效的解决方法,@EnableAutoConfiguration排除冲突的依赖

@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})

补充:

后面仔细查看了代码发现是由于旧项目代码迁移到springboot框架出现的冲突问题。

import org.springframework.web.multipart.commons.CommonsMultipartResolver;//这是旧项目引入的
import org.springframework.web.multipart.MultipartFile;//这是springboot整合的

这两者的区别在于后台获取前端文件的方式不同:

MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request);
MultipartFile file = multipartRequest.getFile("upfile");

以及

MultipartFile file = ((MultipartRequest) request).getFile("upfile");
显然springboot自带的Mutipartfile简单一点,所以将前面排除依赖的注解去掉,完全使用springboot自带的Mutipartfile就行。


Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐