SpringBoot 如何同时接收文件以及json参数
前端传参
let upData = new FormData();
this.files.forEach(function (file) {
upData.append("files", file);
});
this.firmwareSaveDto = this.formData;
let commodityDto = JSON.stringify(this.firmwareSaveDto);
upData.append(
"saveDto",
new Blob([commodityDto], { type: "application/json" })
);
axios.post('/v1/test/upload_files', upData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
后端接收
@PostMapping(value = "/upload_files",name = "上传文件")
public ExecuteResult uploadFiles(
@RequestPart("files") MultipartFile[] files,
@RequestPart("saveDto") @Valid SaveDtosaveDto){
}
注意
- 后端【同时接收文件以及json参数】时使用
@RequestPart
注解。 - 后端与前段要约定好文件与json的对应参数名
files、saveDto
。 - 前端要注意
请求头信息