1. 라이브러리 추가하기
1) Apache Commons FileUpload, Apache Commons IO
2) com.oreilly.servlet 라이브러리
2. JSP에서 파일 업로드
1) 파일 업로드 관련 API
- DiskFileItemFactory
- setRepository() : 파일을 저장할 디렉토리 설정함.
- setSizeThreadhold() : 최대 업로드 가능 파일 크기 설정함.
- ServletFileUpload
- parseRequest() : 전송된 매개변수를 List객체로 얻음.
- getItemIterator() : 전송된 매개변수를 Iterator 타입으로 얻음.
3. 순서
1) 라이브러리 추가
2) 파일 업로드
- 화면 폼 작성
- 데이터베이스 테이블,시퀀스 생성
- DTO, DAO 작성
- 연동 완성
3) 파일 다운로드
4. 화면 폼 작성
1) 일반적인 폼과 조금 다른 설정.
- method="post"
- enctype 속성
- "application/x-www-form-urlencoded"
- 기본값
- 모든 문자를 서버로 전송하기 전에 인코딩함
- "multipart/form-data"
- 모든 문자를 인코딩하지 않음.
- <form> 태그를 통해 파일을 서버로 전송할때 주로 사용함.
- "text/plain"
- 공백문자(space)만 "+"기호로 변환하고, 나머지 문자는 인코딩하지 않음.
5. 데이터베이스 테이블,시퀀스 생성
1) 테이블 정의서
컬럼명 데이터타입 null 허용 키 설명
--------------------------------------------------------------------------------
idx number N PK 일련번호, 기본키
name varchar2(50) N 작성자
title varchar2(200) N 제목
category varchar2(30) 카테고리
ofile varchar2(100) N 원본파일이름
sfile varchar2(30) N 저장된 파일이름
postdate date N 등록된 날짜
--------------------------------------------------------------------------------
6. DTO, DAO 클래스 생성
7. 파일 업로드 처리
1) MultipartRequest 객체 생성
MultipartRequest mr = new MultipartRequest
(HttpServletRequest request,
String saveDirectory, // 파일이 저장될 물리적인 경로
int maxPostSize, // 업로될 파일의 최대 용량
String encoding) // 인코딩 방식
2) 새로운 파일명 생성 ("업로드일시.확장자")
3) 파일명 변경
4) 다른 폼값 처리
카테고리 없음
JSL(22) - 파일업로드
728x90
반응형
728x90
반응형
댓글