前端使用的是Element的上传组件发送的请求,默认是post请求。
@PostMapping("/new")
public RespBean updateFood(MultipartFile file, Food food, HttpServletRequest req){
String format = sdf.format(new Date());
String realPath =req.getServletContext().getRealPath("/img")+format;
File folder = new File(realPath);
if(!folder.exists()){
folder.mkdirs();
}
String oldName = file.getOriginalFilename();
String newName = UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
try {
file.transferTo(new File(folder,newName));
String url = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+"/img"+format+newName;
food.setIcon(url);
if(foodService.updateFood(food)==1){
return RespBean.ok("更新成功");
}
} catch (IOException e) {
e.printStackTrace();
}
return RespBean.error("更新失败");
}