前言
在开发上传文件的接口时,遇到了Required request part ‘file‘ is not present报错。记录下解决方式。
解决方式
查看参数是否正确
有可能是因为传递参数有误导致获取失败,要保证 @RequestParam("file")和from-data传递的文件key保持一致
确认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报错,先查看参数是否正确,再查看配置是否异常,最后看是否有自定义的配置类和注解。