若依前后端图片上传组件,没有图片删除功能。有时间把这个功能完善下。
添加一个删除文件接口
import request from '@/utils/request'
// 删除图片
export function deleteImage(data) {
return request({
url: '/common/delete',
method: 'post',
data: data
})
}
在对应图片上传组件ImageUpload进行修改
var fileName = file.name.replace(this.baseUrl, "");
deleteFile({fileName: fileName}).then(res => {
}).catch(() => {
});
/**
* 通用图片删除请求(单个)
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody FileInfo fileInfo){
Long userId = SecurityUtils.getUserId();
if (ObjectUtils.isEmpty(userId)) {
throw new BaseException("没有删除权限!");
}
//文件磁盘路径 /Users/wei/temp/traing/uploadPath
String filePath = RuoYiConfig.getProfile();
// 映射路径 /profile/upload/2023/02/21/QQ截图20230221113347_20230221113355A001.png
String fileName = fileInfo.getFileName();
// /Users/wei/temp/traing/uploadPath/upload/2023/02/21/QQ截图20230221113347_20230221113355A001.png
String deletaPath = filePath + StringUtils.substringAfter(fileName, Constants.RESOURCE_PREFIX);
if (FileUtils.deleteFile(deletaPath)) {
return AjaxResult.success();
}
return AjaxResult.error();
}