我尝试使用邮递员将图像上传到服务器 . 我使用spring来制作其余的api如下:
@RequestMapping(value = "/uploadPrescription", method =RequestMethod.POST)
public ResponseEntity<ResponseSuccessData> uploadPatientPrescription(
@RequestBody @RequestParam("image") MultipartFile image)
throws IOException {
但它抛出一个错误:
org.springframework.web.bind.MissingServletRequestParameterException:
Required MultipartFile parameter 'image' is not present
正如你在邮递员中看到的那样,关键名称是'image',而在api中,api也是@RequestParam(“image”) .
在内容类型中设置值 - Content-type = multipart / form-data,boundary =' - abc'
这是我的多部分 spring 配置 -
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
//commonsMultipartResolver.setMaxUploadSize(-1);
return commonsMultipartResolver;
}
可能是什么问题呢?
5 回答
请删除 Headers 部分
请删除邮递员 Headers 部分中的 - Content-Type:multipart / form-data; boundary ='abc'设置
在spring.xml中添加这些行
除了Abhijit Chowdhury的回答,如果你仍然使用spring security,你可以删除
Content-Type
并将你的令牌保留在 Headers 中,不需要从 Headers 中删除所有内容 .此外,重新启动邮递员很重要 .
1.在POSTMAN中删除 Headers 部分 .
2.在您的API中:
添加以下内容:
所以它变成:
将
@RequestBody @RequestParam("image")
替换为@RequestBody("image")
. 第一个语句无效,请参阅 - Spring uploading files .