记录问题:springboot项目里用MultipartFile获取前端传的file为null问题

看了很多博客,原因好像是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就行。


你可能感兴趣的:(项目日记)