[게시판 만들기]10.파일(이미지) 수정하기(+글작성)

JINI·2022년 12월 2일
0
post-thumbnail

🧩이미지 수정하기

수정 시 이미지 변경을하면 저장되어 있던 이전 이미지는 삭제하고 새로운 이미지로 변경한다.


✂️이미지 수정 전

✂️이미지 수정 후


📕serviceImpl

  • 수정한 글을 저장하는 코드는 수정하기 편에서 다뤘기 때문에 생략하고 이미지 수정한 데이터 저장하기 코드만 추가했다.
	public String modify(MultipartHttpServletRequest multi, HttpServletRequest request) {
						---코드 생략---

	MultipartFile file = multi.getFile("imgFile");
	if(file.getSize() != 0 ) {
		dto.setImgFile(bfs.saveFile(file));
		bfs.deleteImg(multi.getParameter("originFileName")); 
	}else {
		dto.setImgFile(multi.getParameter("originFileName"));
	}
	int result = mapper.modify(dto);
	String msg, url;
	if(result == 1) {
		msg = "수정되었습니다";
		url = "/board/list";
	}else {
		msg = "수정 중 문제가 발생하였습니다";
		url = "/board/modify_form";
	}
	String message = bfs.getMessage(request, msg, url);
	return message;
	}
  • 이미지 변경시 dto에 새로운 파일명으로 변경후 기존 이미지를 삭제하고 이미지 변경이 없을 땐 기존 이미지를 유지한다.
  • mapper로 보낼 값을 result에 넣고 1이면 성공적으로 수정, 1이 아니면 문제 발생 메시지를 띄우며 기존 페이지를 유지한다.

📕mapper.xml

<update id="modify">
	update talk_board set title=#{title},content=#{content},img_file=#{imgFile} where write_num=#{writeNum}
</update>
  • 수정시 변경할 이미지도 추가(img_file=#{imgFile})한다.

  • 삭제하기 코드에 이미지도 같이 삭제되도록 추가한다.
profile
꾸준히 성장하는 개발자

0개의 댓글