개발자를 꿈꾸는 여정

JSP File Upload 본문

1. Full Stack Developer/1_1. JSP (java sever pages)

JSP File Upload

아카라타 2021. 12. 13. 10:10

파일 업로드

* 1. cos.jar 라이브러리 이용 [ 파일복사 라이브러리]

http://www.servlets.com/

 

Servlets.com

Home What's New? COS File Upload Library Servlet Polls Mailing Lists Servlet Engines Servlet ISPs Servlet Tools Documentation Online Articles The Soapbox "Java Servlet Programming, Second Edition" "Java Enterprise Best Practices" Speaking & Slides About Ja

www.servlets.com

파일 업로드

* 2. from 인코딩 : enctype="multipart/form-data"

 

* 3. MultipartRequest 객체 = new MultipartRequest ( 1, 2, 3, 4, 5)

  - 1. 요청방식 : request

  - 2. 업로드할 폴더 경로

  - 3. 용량 : 바이트단위

  - 4. 인코딩타입 : "UTF-8"

  - 5. 보안 : new DefaultFileRenamePolicy()

     - DefaultFileRenamePolicy : 파일명이 동일 경우 자동으로 파일명 뒤에 번호 매기기 [ 파일명 중복 제거 클래스 ]

* 4. form 변수 요청시

  - 1. 객체명.getParameter()          :    변수값 요청

  - 2. 객체명.getFilesysremName()  :    첨부 파일에 올라간 파일명 요청

 

* 워크스페이스 : 작업폴더

* 서버폴더 : 서버실행 시 작업폴더에 있는 파일들을 서버로 이동

   * 워크스페이스 : \.metadata\.plugins\org.elipse.wst.sever.core

 

* 서버 구동원리

  1. 프로젝트 실행 -> 프로젝트 내 서블릿/프론트엔드 분리

  2. 서버 폴더에 배치

  3. 클라이언트는 서버 폴더 내 파일만 요청/응답

 

클라이언트
[ 사용자 ]
서버폴더
[ 요청/응답 ]
워크스페이스 [ 프로젝트 ]
[ 개발자 ]

 

* 서버 폴더 경로 찾기

- request.getSession.getServeltContent.getRealPath ( 경로명 / 파일명 );

 

* 파일 다운로드

 - 1. 파일명의 경로찾기

 - 2. 해당 파일 객체화 [ File file = new File (경로/파일명) ] : 해당 파일이 객체화 [ 다양한 메소드 제공 ]

       - 1. 파일을 바이트형 변환 [ 스트림 ]

 - 3. 다운로드 형식

      - response.setHeadder("Content-Disposition", "attatchment:filename=" + 파일명 + "," ) :\

 

 - 4. 전송방식

      - 1. 서버가 해당 파일을 바이트형으로 읽어온다

            BufferidInputStream

      - 2.