Springboot文件删除(图片删除)

紧接上篇的文件添加,这篇写文件删除,还是以图片的操作为例。

文件上传和删除更应该算是javaSE的内容,用到的基本都是文件的操作。

首先就是控制类代码

//删除图片文件,只是删除文件,不删除数据库信息
    @PostMapping("/deleteFile")
    @ResponseBody
    public String delFile(String path) {
        //上篇中前端穿过来的是/imctemp-rainy/*.jpg格式的,只需要取出最后的文件名,写死路径,就可以准确找到文件了
    		//前端页面处理路径,
		    	//var imgpath=path.split("/"); 
				//imgpath = imgpath[imgpath.length-1];
    	String resultInfo = null;
    	//System.out.println(path);///imctemp-rainy/2.jpg
		int lastIndexOf = path.lastIndexOf("/");
		String img_path = path.substring(lastIndexOf + 1, path.length());
		//System.out.println(img_path);
		img_path = "E:/ExerciseSpace/SpringBoot/imageg/" + img_path;
		//System.out.println(img_path);//输出测试一下文件路径是否正确
		File file = new File(img_path);
		if (file.exists()) {//文件是否存在
			if (file.delete()) {//存在就删了,返回1
				resultInfo =  "1";
			} else {
				resultInfo =  "0";
			}
		} else {
			resultInfo = "文件不存在!";
		}
		return resultInfo;
	}

前端页面代码

<div class="label">
     <label>图片:label>
div>
<div class="field">
   <p id="url">
   <img :src="menu.bbimg" width="100px" height="100px " id="img" >
    <label>
        <input type="button" value="取消图片" v-on:click="delphoto(menu.bbid,menu.bbimg)"/>
    label>
div>
//取消图片,删除图片,将图片数据库信息修改为null
delphoto:function(bbid,path){
	//alert(123);
	var imgpath=path.split("/"); 
	imgpath = imgpath[imgpath.length-1];
	//alert(imgpath);
	$.post("/bannerlower/deleteFile",{path:imgpath},function(data){
		if(data=="1"){//到了这里,本地的图片数据就删除了,但是数据库信息没删,下面就是删除数据库信息了,懒得删了,就一块说下
		//alert("图片删除");
            //我后端是用的修改,跟其他方法共用的一个,思路就是根据id,把数据库中图片的信息改为null就可以了,所以传了id跟图片链接,并且图片链接为空
			$.post("/bannerlower/editimg",{bbid:bbid,imgpath:null},function(data){
				if(data=="1"){
					//alert("图片信息删除");
					//window.location.href="/admin/bannerloweredit?bbid="+bbid;
					$("#img").attr("src","/imctemp-rainy/no.png");//删除后,让一个默认图片补上空缺,增强用户的体验。
				}
			})
		}
	});
},

你可能感兴趣的:(学习随笔)