我有控制器:
@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,将其与二进制文件一起添加到多部分并提交。
我找到了一种将完整形式序列化为 json 的方法,但无法了解如何将其与一种形式的文件输入相结合。
要组合,您必须在javascript中使用formdata。语法是这样的,
var formData = new FormData();
formData.append('meta', {key: 'value'});
formData.append('file', file);
现在,将 formData 作为参数传递给您的 POST 请求。工作完成!