Spring 带有@RequestBody 的多部分文件

Spring Multipart File with @RequestBody

我正在尝试将数据从应用程序上传到 spring 后端服务。 要上传的内容是一个 DataModel,其中包含要创建的对象的数据以及链接到数据的多个图像。 因此我使用这个方法签名:

@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public Survey createSurvey(@RequestBody SurveyPostHelper helper, @RequestParam(value="file", required = true) MultipartFile[] images)

我尝试使用注释,但要么我得到一个空白图像数组,要么我的助手是空的。 你会如何解决这个问题?

提前致谢。

我发现,这个方法签名可以完成这项工作:

@ResponseBody
public Survey createSurvey(@RequestPart(required=true) SurveyPostHelper helper, @RequestPart(value="file", required = true) final MultipartFile[] images)

对我而言重要的是在客户端应用程序中设置 MimeType。文件 MimeType 应为 image/jpgSurveyPostHelper 应为 application/json,以允许 Spring 解析 json 并将其绑定到我的对象。

查看为我工作的客户端代码示例图像是我要保存的文件列表

var formData = new FormData();

for (var i = 0; i < images.length ; i++) {
  formData.append('images', images[i]);
}

formData.append('adData', new Blob([JSON.stringify(adData)], {
    type: "application/json"
}));