Required request part is not present的解决办法

8,029 阅读1分钟

前言

在开发上传文件的接口时,遇到了Required request part ‘file‘ is not present报错。记录下解决方式。

解决方式

查看参数是否正确

有可能是因为传递参数有误导致获取失败,要保证 @RequestParam("file")和from-data传递的文件key保持一致

1669014003506.png

确认yml配置是否有误

使用Springboot项目的配置参数
servlet:
  multipart:
    max-file-size: 10MB  指定文件大小最大值,默认1MB
    max-request-size: 50MB 指定每次请求的最大值,默认为10MB
    enabled: true  是否开启文件上传支持,默认为true

是否需要自定义MultipartAutoConfiguration

MultipartAutoConfiguration定义

自动配置类MultipartAutoConfiguration针对Spring Servlet Web应用环境,对文件上传进行相关配置。在配置参数spring.servlet.multipart.enaled没有设置,或者设置为true时,该自动配置类确保MultipartConfigElement或者StandardServletMultipartResolver的存在。

反之如果需要使用自定义的类,就要在启动类中添加以下注解来排除Springboot自带的类。tips:如果没有自定义类还排除了自带的类就无法解析参数了。

@EnableAutoConfiguration(exclude = {
        MultipartAutoConfiguration.class})

总结

出现Required request part ‘file‘ is not present报错,先查看参数是否正确,再查看配置是否异常,最后看是否有自定义的配置类和注解。