本文部分参考:https://blog.csdn.net/b1055077005/article/details/78267748,感谢作者!
1、原因:
ueditor编辑文档的时候,当选择照片且确定之后,会将相应照片上传至项目目录下或指定目录下,如果此时编辑者误上传或感觉上传图片不合适,从ueditor中删除照片后,对应的目录下的照片是不会删除的,久而久之,会导致上传目录占用空间很大。
2、解决思路
(1)获取上传目录中所有图片的地址:List<String> realList(因上传目录包含时间文件夹)
(2)获取ueditor文档中使用到的图片地址:List<String> delList(可以将对应的内容存在数据库,从数据库读取该字段,使用正则表达式,获取图片src)
(3)将realList中不存在delList的图片序号存入delList中
(4)删除delList对应的文件
3、实现(注意指定系统盘与指定FTP获取真实存在的图片的方法不同):
(一)指定系统盘:
1、getImgSrc:
2、FileUtils.getImgNameListByPath(硬盘上真实存在的图片)
3、getFileList
4、class类:Filterbyjava
(2)指定FTP
1、getImgSrc与(1)中1相同
2、ftpUtil.List
3、removeFile