升级了springboot到2.4之后,本来正常的文件上传接口,突然间不行了,原因为获取上传文件为空
@RequestPart("file") MultipartFile file
file为空,报错如下:
org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part ‘file’ is not present
查了很多资料,说是因为之前过滤body的过滤器影响所导致
Springhttps://blog.csdn.net/a1275302036/article/details/119219047Boot项目里用MultipartFile获取到的file为null问题_我可能在扯淡的博客-CSDN博客_multipartfile为null
解决方法:
在启动类加@SpringBootApplication(exclude = {MultipartAutoConfiguration.class})注解排除SpringBoot依赖,然后写一个配置文件UploadConfig
@Configuration
public class UploadConfig {
@Bean(name="multipartResolver")
public MultipartResolver multipartResolver(){
return new CommonsMultipartResolver();
}
}
在springboot启动类上加入注解
//排除原有的Multipart配置
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}