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/jpg
,SurveyPostHelper
应为 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"
}));
我正在尝试将数据从应用程序上传到 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/jpg
,SurveyPostHelper
应为 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"
}));