在一个POST请求中上传包含元数据的多个文件

时间:2018-04-04 20:06:53

标签: spring spring-mvc spring-boot multipartform-data

我想在一个POST请求中上传包含相关元数据的多个文件。 这是我的POJO:

@Getter
@Setter
@NoArgsConstructor
public class Attachment {
  private MultipartFile file;
  private String name;
  private String description;
}

我尝试使用formdata(即multipart / form-data)使用Postman上传文件,但它会抛出异常,说明找不到参数附件。 我也尝试了@ModelAttribute,但它获取了一个空白列表。当我尝试@RequestPart时,它抛出了这个错误:"Required request part 'attachments' is not present"

这是我的控制器方法:

@RequestMapping(value = "attachments", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    @ResponseBody
    public void addAttachment(@RequestPart List<Attachment> attachments) {
       // do something
    }

我们可以通过发送带有base64编码文件的原始json来完成此操作,但我想知道如何使用multipart完成此操作。我在StackOverflow上已经关注了很多问题,但没有一个解决方案能够正常工作。

谢谢:)

1 个答案:

答案 0 :(得分:0)

@Lakshmikant Deshpande

很遗憾,当前无法在一个请求中上载带有参数的多个文件。 有关详细信息,请参阅源代码“ RequestPartMethodArgumentResolver.resolveArgument()”。