06-15 Spring

Ruinak·2021년 6월 15일
0

Spring Lesson

목록 보기
9/23
post-custom-banner

파일업로드(첨부파일)

  • CRUD는 기본적으로 어떻게 사용될지 모르며, 프로그램 생성 후 유지보수를 위해서 만들어둬야 함

Insert

  • 오라클에서 새로운 테이블 ATTACH 생성
  • column으로 UUID, UPLOADPATH, FILENAME, FILETYPE(I면 이미지, 아니면 O) BNO(글번호)
  • 오라클에 생성한 ATTACH 테이블에 대한 VO 만들기
  • com.example.domain에서 AttachVO 생성
  • com.example.mapper에 AttachMapper 생성
  • insertAttach 메서드 작성
  • 쿼리문으로 AttachVO가 포함하고 있는 정보인uuid, uploadpath, filename, filetype, bno를 DB의 ATTACH 테이블로 넘겨줌
  • AttachService를 만드는 대신 BoardService에서 AttachMapper를 의존 관계로 등록하고 새로운 메서드인 registerBoardAndAttaches를 생성
  • 첨부파일이 몇개일지 모르므로 List의 형태로 첨부파일을 받음
  • 게시판 글쓰기와 스프링이 동시에 처리되는 메서드
  • Transactional 애노테이션을 달아주면 스프링이 트랜잭션 단위로 commit과 rollback 처리해줌
  • input type이 파일 첨부 버튼임, 얘가 계속 일을 하는 것임
  • '파일 추가' 버튼 추가
  • button type에서 타입을 따로 지정하지 않으면 자동으로 submit 형태로 됨. form 태그에서 사용하는게 아니라면 button타입으로 바꿔줘야 함
  • 파일 추가에 srcipt로 클릭시 이벤트 적용
  • 클릭이한번 발생할때 마다 레드박스 내용이 실행됨
  • `` : 백틱이라고 함
  • 파일 추가를 누를때마다 첨부파일 버튼이 추가됨
  • 첨부 파일은 최대 5개까지만 가능하므로 그 이상으로 클릭시 경고창 출력됨
  • form 태그에 enctype(인코딩타입)을 추가
  • multipart는 무조건 파일 업로드를 의미함!
  • /를 기준으로 왼쪽은 대분류, 오른쪽은 소분류
  • BoardController에 wirte 메서드를 수정
  • 지금 쓰려고 multipart-config도 준비를 해놨었음
  • 정상적으로 2개 추가되서 업로드가 됨
  • 첨부를 안해도 1이 찍히는 것은 write.jsp에 기본적으로 파일 첨부 버튼이 1개 있어서 1이 찍힘
  • getDateFolder 메서드 생성
  • 파일 업로드 설정
profile
Nil Desperandum <절대 절망하지 마라>
post-custom-banner

0개의 댓글