//上传功能
@RequestMapping("/save")
public String upload(Images images,HttpServletRequest req) throws IllegalStateException, IOException{
//判断id是否有值,如果有值的话就是修改内容,如果没有值就是新添加上传的文件
if (images.getImagid() != null) {
imagesService.update(images);
}else {
//一:获得上传文件的信息
//1.获得上传的文件信息
MultipartFile fileImg = images.getFileImg();
//2.获得文件的名称
String filename = fileImg.getOriginalFilename();
//3.获得文件的后缀名
String extension = FilenameUtils.getExtension(filename);
//4.获得随机名称uuid
String uudi = UUID.randomUUID().toString();
//5.拼接字符串
String newFilename = uudi+"."+extension;
//二:获得上传文件的路径
//1.获取真实路径
String realPath = req.getServletContext().getRealPath("/upload");
//2.创建文件new File
File field = new File(realPath,newFilename);
//3.获得父路径
File parentFile = field.getParentFile();
//4.判断是否有upload文件夹,如果没有就创建
if (!parentFile.exists()) {
parentFile.mkdirs();
}
//三: 保存文件transferTo: 将获取到的文件FileImg,保存到 field新创建的文件里面
fileImg.transferTo(field);
//四: 把数据添加到数据库里面
//1.添加文件名称到images里面
images.setStorname(filename);
//2.添加文件地址到images里面,注意前面和后面要加/杠
images.setStorpath("/upload/"+newFilename);
//3.把images数据提交到数据库里面
imagesService.save(images);
}
//重定向:跳转到程序注解里面的/images/query里面
return "redirect:/images/query";
}