今天突然想到之前在后台实现删除文章功能时单纯的利用Mapper的deleteById删除 而我仅删除的是文章的封面存放映射地址并没有将本地封面图片一并删除,于是去CSDN上看到FileSystemUtils的deleteRecursively 仅需传入一个给予path路径的File对象即可删除 尝试了一下就成功了 代码如下
public String GoToMangeArticle_delete(@PathVariable("id")Integer id)
在实现删除时前端传入id给后端,通过id查找了具体对象并利用split以/分割获得文件名
// 根据id查询具体的图片名
Article article = articleService.selectArticleById(id);
String imageurl = article.getImageurl();
String[] split = imageurl.split("/");
String imgName = split[2];
拼上在本地文件的前缀
// 拼上目录前缀
String detailImgPath = "D:/MyBlog_article_image/"+imgName;
使用FileSystemUtils.deleteRecursively(file)删除
File file = new File(detailImgPath);
FileSystemUtils.deleteRecursively(file);
rticleService.deleteArticleById(id);