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
。 - 前端要注意
请求头信息