带有附加 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 请求。
任务完成!
我有控制器:
@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 请求。 任务完成!