Multipart带有额外的json形式

时间:2017-11-08 17:27:12

标签: javascript html json forms multipart

我有控制器:

@RequestMapping(method = RequestMethod.POST)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String upload(
        @RequestPart(name="meta", required = false) String jsonMeta,
        @RequestPart(name="file") MultipartFile[] uploadingFiles) throws IOException { 
//...
MetaData metaData =  new ObjectMapper().readValue(meta, MetaData.class);
//... 
}

我需要为其创建html表单,其中包含多个元数据输入和一个用于文件输入的输入。

它应该从输入字段创建json,将它与二进制文件一起添加到multipart并提交它。

我找到了一种将整个表单序列化为json的方法,但是无法知道如何将它与文件输入结合在一起。

1 个答案:

答案 0 :(得分:1)

要合并,必须在javascript中使用formdata。 语法如下:

var formData = new FormData();
formData.append('meta', {key: 'value'});
formData.append('file',  file);

现在,将formData作为参数传递给POST请求。 完成工作!