我有控制器:
@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的方法,但是无法知道如何将它与文件输入结合在一起。
答案 0 :(得分:1)
要合并,必须在javascript中使用formdata。 语法如下:
var formData = new FormData();
formData.append('meta', {key: 'value'});
formData.append('file', file);
现在,将formData作为参数传递给POST请求。 完成工作!