前端
//删除图片
deleteProductImage(id,realUrl){
this.$confirm('是否要删除该产品图片?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteProductImage({ id: id ,realUrl : realUrl}).then(res => {
if (res.code === 200) {
this.$message({
type: 'success',
message: '删除成功'
})
this.getProductImage()
}
}).catch(res => {
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
后端
//从文件中删除图片,并删除数据库信息
@GetMapping("/deleteProductImage")
@ResponseBody
public ServerResponse delFile(Integer id,String realUrl) {
//字符串截断,获取图片的名称
int lastIndexOf = realUrl.lastIndexOf("/");
String img_path = realUrl.substring(lastIndexOf + 1, realUrl.length());
//拼接图片的绝对地址
img_path = "D:\\Project\\manager-api\\src\\main\\resources\\static\\images\\" + img_path;
File file = new File(img_path);
//数据库中删除数据
int i = sProductService.deleteProductImage(id);
if(i>0){
if (file.exists()) {//文件是否存在
if (file.delete()) {//存在就删了
return ServerResponse.createServerResponseBySuccess("删除成功");
} else {
return ServerResponse.createServerResponseBySuccess("文件删除失败");
}
}else {
return ServerResponse.createServerResponseByFail("文件不存在");
}
}else {
return ServerResponse.createServerResponseByFail("数据删除失败");
}
}