-
Servlet-JSP MVC07 - 파일 삭제 하기Web/Servlet-JSP 2023. 7. 24. 20:52
1. 뷰 설정
<c:if test="${sessionScope.userId != null && sessionScope.userId == vo.id && vo.filename != null && vo.filename != ''}"> <a href="javascript:delFile('${vo.num}','${vo.filename}')"><span class="glyphicon glyphicon-remove"></span></a> </c:if>
삭제 버튼에 a태그로 자바스크립트 메서드 연결시켜두었다.
function delFile(num,filename){ location.href="<c:url value='/fileDel.do'/>?num="+num+"&filename="+filename; }
삭제를 위한 컨트롤러와 연결
2. fileDeleteController
public class FileDelController implements Controller{ @Override public String requestHandler(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ctx = request.getContextPath(); //파일 이름 과 Dir 관련 설정 String filename = request.getParameter("filename"); int num = Integer.parseInt(request.getParameter("num")); filename = URLEncoder.encode(filename, "UTF-8"); filename = filename.replace("+", " "); //삭제할 파일 경로 String UPLOAD_DIR ="file_REPO"; String UPLOAD_REAL_PATH = request.getServletContext().getRealPath("")+File.separator+UPLOAD_DIR; File f = new File(UPLOAD_REAL_PATH+File.separator+filename); if(f.exists()) f.delete(); //존재하면 삭제 //테이블에서 파일이름 삭제 (null처리) - update MemberDAO dao = new MemberDAO(); int cnt = dao.memberDeleteFile(num); return "redirect:"+ctx+"/memberContent.do?num"+num; } }
3. DB처리
public int memberDeleteFile(int number) { int cnt =-1; SqlSession session = sqlSessionFactory.openSession(); cnt = session.update("memberdelFile", number); session.commit(); session.close(); return cnt; }
삭제한 파일명 null처리하기 위한 DAO메서드이다.
출처: 나프2탄(박매일) -인프런
https://www.inflearn.com/course/%EB%82%98%ED%94%84-mvc-2
'Web > Servlet-JSP' 카테고리의 다른 글
Servlet-JSP MVC07 - 파일 다운로드 (0) 2023.07.23 Servlet-JSP MVC07 - 리스트에 이미지 띄우고, 상세페이지에서 파일보기 (0) 2023.07.22 Servlet-JSP MVC07(3) - Ajax 파일업로드 (0) 2023.06.27 Servlet-JSP MVC07 (2) - ajax로 JSON 다루기 (0) 2023.06.26 Servlet-JSP MVC07 (1) - Ajax를 활용한 id 중복확인 (0) 2023.06.25