SpringBoot 2.2.1 遇Required request part缺失问题,现有方案无效求解决
解决Spring Boot 2.2.1 "Required request part 'file' is not present"问题的可行方案
统一请求参数名大小写:接口代码中
@RequestParam("File")指定的参数名是大写开头的File,若Postman中使用小写file会导致匹配失败。请确保Postman的form-data参数Key与接口定义完全一致,或者将接口参数名修改为@RequestParam("file")(小写)。修正Spring Boot Multipart配置项:Spring Boot 2.x版本起,Multipart配置前缀已从
spring.http.multipart改为spring.servlet.multipart,需将配置修改为:spring.servlet.multipart.enabled=true旧配置
spring.http.multipart.enabled=true在2.2.1版本中已失效。检查Postman请求配置:确认Postman请求Body类型为
form-data,对应参数的类型选择为File(而非Text),且已正确选择待上传的文件。排查自定义MultipartResolver:若项目中自定义了MultipartResolver Bean,需确保其Bean名称为
multipartResolver,否则Spring Boot无法识别该配置,会使用默认解析器导致文件上传异常。验证依赖完整性:确保
spring-boot-starter-web依赖未排除Multipart相关组件,2.2.1版本的web starter默认包含该组件,若手动排除需重新引入。
调整后的接口代码示例:
@RequestMapping(value = "/executescript", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public @ResponseBody String uploadFileHandler(@RequestParam("file") MultipartFile file)
内容的提问来源于stack exchange,提问作者Manish Acharya
相关产品推荐
相关产品推荐

