标签:扩展 问题: 添加 pat ice col find 注入 dir
在Mysql数据库中。创建一个存放轮播图的一个表格。设计表格的字段分别为:
//图片的id(编号)
private Integer imgid;
//图片的路径
private String storepath;
//图片的名称
private String storename;
//图片的介绍(描述)
private String intro;
//是否启用 true:启用 false:禁用
private Boolean isenabled;
//录入时间
private Date inputdate = new Date();
//上传的图片文件(和数据库没有关系,我们只是通过这个字段接收文件)
private MultipartFile fileImg;
然后我们在通过Spring框架,需要配置applicationContext.xml 中要需要导入jar包并却要注入jdbcTemplate。然后我们通过jdbcTemplate操作MySql数据库进行轮播图的CRUD!
然后需要注意的一点是我们在Controller层操作轮播图的上传这点我们需要解决上传的轮播图的名称问题:
//1.拿到相应的文件
MultipartFile fileImg = images.getFileImg();
//2.拿到文件的名称
String fileName = fileImg.getOriginalFilename();
//3.拿到文件的扩展名名
String extName = FilenameUtils.getExtension(fileName);
//4.获取随机名字
String uuid = UUID.randomUUID().toString();
//5.拼接一个全新的名字
String newFileName = uuid+"."+extName;
//二.解决上传的路径问题
//2.1 获取真是路径
String realPath = req.getServletContext().getRealPath("/轮播图存放的真是路径");
//2.2 创建文件
File file = new File(realPath, newFileName);
//2.3 创建父文件路径
File parentFile = file.getParentFile();
//判断这个父文件是否存在
if (!parentFile.exists()) {
//不存在就创建一个
parentFile.mkdirs();
}
fileImg.transferTo(file);
//添加数据
//1.添加名称
images.setStorename(fileName);
//2.添加地址
images.setStorepath("/轮播图存放的真是路径"+newFileName);
同时我们在对轮播图进行删除时也需要注意一下(我们删除前需要把上传的图片也一起删除):
//1.拿到咱们的Image数据
Images images = imagesService.findOne(id);
if(images!=null){
//2.拿到真实的路径
String realPath = req.getServletContext().getRealPath("");
//3.拿到文件路径
String filePath = images.getStorepath();
//4.获取到文件
File file = new File(realPath+filePath);
//5.删除文件
file.delete();
}
注意上面叙述的两点后,我们就可以很好的对轮播图进行添加与删除操作。
标签:扩展 问题: 添加 pat ice col find 注入 dir
原文地址:https://www.cnblogs.com/DarryZz04/p/10976498.html