带有附加 json 形式的多部分

Multipart with additional json form

我有控制器:

@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 的方法,但无法了解如何以一种形式将其与文件输入相结合。

要合并,您必须使用 javascript 中的表单数据。 语法是这样的,

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

现在,将 formData 作为参数传递给您的 POST 请求。 任务完成!