你好朋友
我正在寻找一种解决方案,可以上传多个 MultipartFile 以及输入JSON正文。我知道有很多相关的东西可用,但是我找不到解决方案。这激怒了我向社区提问。
我的要求也是如此
我已经开发了(实际上正在开发并处于最后阶段)开放源代码库,学校/学院/大学将根据该库愿意根据学生的意愿为学生上传学习材料。 广泛(具有经过验证的用户)必须要提供很少的文本信息,例如标题,描述,备注。
所以我期望的实体也是如此,
@Entity
class Material {
private MultipartFile[] content;
private String title;
private String description;
private String remarks;
}
我想使用spring MVC功能,例如失败并需要在这里提供帮助
public String uploadMaterial(@RequestBody Material material) {
... business logic ...
return "successfully material saved.";
}
任何帮助将很感激!! 的
答案 0 :(得分:4)
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public @ResponseBody Material createMaterial(@RequestPart("addtionalData") String addtionalData, @RequestPart("fileList") List<MultipartFile> fileList) throws IOException {
Material material = new ObjectMapper().readValue(addtionalData, Material.class);
material.setContent(fileList);
// do what ever you want to do
}
答案 1 :(得分:1)
我对我的一个项目有类似的要求,我使用以下技术上传图像
公共作业uploadImageForAJo(@PathVariable Long jobId,@RequestParam(“ file”)MultipartFile []文件)
,如果您愿意,可以在此处传递JSON负载以及其他必需信息作为@RequestBody
您可以查看以下问题,以查找如何使用邮递员测试api
答案 2 :(得分:0)
@CrossOrigin(来源=“ *”) @PostMapping(“ / uploadDocuments”) 公共对象uploadFilesOnAwsS3( @RequestHeader(name =“ docId”)字符串docId, @RequestHeader(name =“ referenceId”)字符串referenceId, @RequestHeader(name =“ docTypeId”)字符串docTypeId, @RequestParam(value =“ data”)对象数据, @RequestParam(value =“ files”,required = true)MultipartFile [] files)引发IOException,MsuException { }