接着昨天的同时提交图片与文本内容,今天记录的是怎么删除图片。我们知道在上传图片时,图片保存的路径是相对路径,而删除的时候是要给出绝对路径来删除。
public void remove(HttpServletRequest request, HttpServletResponse response) {
int tombID= Integer.parseInt(request.getParameter("tombID"));//<span style="white-space:pre"> </span>前台传送tombID,这个用来调用底层dao的remove方法,
String tombPicture=request.getParameter("tombPicture");//用来找到图片存储路径,删除图片
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//记录是否删除成功
boolean result = false;
//参数传递进来,获取要删除的文件名字
String fileName = request.getParameter("fileName");
//文件保存路径(绝对路径)
String savePath = request.getSession().getServletContext().getRealPath("/") + "upload\\";
File file = new File(savePath + tombPicture);//注意这里的路径要和你图片保存的路径要完全一致,这样才能找到图片,昨天的博客相对路径后面多加了一个分号(;),导致找不到文件。
//文件存在删除
if (file.exists()) {
file.delete();
} else {
result = true;
}
request.setAttribute("result", result);
try {
tombDao.remove(tombID);//调用底层方法删除记录
} catch (Exception e) {
e.printStackTrace();
}
}
前台的jsp页面要提供tombID与tombPicture两个参数!(这里前台jsp页面就不展示了)