
파일 업로드 / 파일 다운로드
파일 (업로드)은 별도의 공간에 따로 하드디스크 안에 저장해놈 DB는 그 별도의 공간에 저장함
파일의 정보를 읽어서 우리가 그 정보를 DB에 넣어줘야하고, 그 DB에 잇는 정보를 LIST로 리다이렉트 시켜서 추출할 수 있게 함
✏️ Test1.
💻 입력


넘어온 파일의 정보를 읽어오는 header
: header (크기나 안에 세부정보)



⭐ FILEINPUTSTREAM (FIS) :
⭐ FileOutputStream(FOS) : 파일 읽어오는거
servlet으로 파일업로드 하는 방법


📌 test1.jsp -> test3.jsp
test1에서 선택한 파일을 test3에서 받는 법
String root = pageContext.getServletContext().getRealPath("/"); ⬇️test1.jsp
파일 업로드 하는 디자인

풀 주소 = (ServletContext)같음


📌 폴더 만드는 방법
(1) 루트 안에 폴더 만드는 법

(2) 다이렉트로 만드는 법

✔️ 파일이 mkdirs()로 인해 실제로 진짜 루트에 만들어진 걸 확인할 수 있음

파일 올릴때마다 MultipartRequest(mr)에 저장됨

DB엔 SaveFileName과 OriginalFileName 각각 같이 저장되어있어야 함
✅ 파일 정보 추출하는 법

dto.setSubject(mr.get~~~)
① DB 테이블 생성

② DTO/DAO 생성
③ write.jsp에서
<form action="<%=cp%>/file/write_ok.do" method="post" enctype="multipart/form-data">
파일 업로드할거라고 잊지말고! 말해주기!
④ fileTestServlet 에서 폴더생성 완료하기
⑤ fileTestServlet 에서 창 띄워보기

⑥ fileTestServlet 에서 파일 업로드 + DB에 파일 정보 저장하는 코드 작성

⑥ 잘 넘어가는지 확인



✅
write.jsp에서스크린샷을 넣어보면list.do/루트/DB에도 잘 들어감



⑦ FileTestDAO에서 페이징처리를 위해 getList()메서드에 RNUM추가 + 전체 데이터 개수 가져와야 함



⑧ 삭제
✅ 삭제
① 공통으로 쓸 클래스 하나 만들기

② static 메서드 하나 만들기


삭제하면 루트안에도 db안에도 삭제 된걸 볼 수 있음


✅ 다운로드 하는 방법


이 주소로 넘어가야함
다운됨

파일이 폴더에선 삭제가 됐는데, 서버에는 아직 링크는 살아있을 때



한글이 깨지면!!
fileManger.java에서
originalFileName = new String(originalFileName.getBytes("euc-kr"),"ISO-8859-1");
한글안깨지게 설정 꼭! 해줘야함
페이징 고정 (pageNum받음)


📌 납품하는 방법


상대회사의 톰캣서버는



