본문으로 바로가기

 

 

파일 업로드

웹 브라우저(클라이언트)에서 서버로 파일을 전송하여 서버에 저장하는 것

*파일 업로드시 form 태그 내에서의 규칙

1) method 속성은 POST방식

2) enctype 속성은 multipart/form-data로 설정

3) action 속성은 파일 업로드를 처리할 JSP 파일로 설정

4) input 태그의 type를 file로 설정

파일 업로드 처리 방법

① MultipartRequest

웹 페이지에서 서버로 업로드되는 파일 자체만 다루는 클래스

* MultipartRequest 메소드의 종류

메소드

유형

설명

getContentType(String name)

String

업로드된 파일의 콘텐츠 유형 반환

getParameter(String name)

String

이름이 name인 값 전달 받음

getParameterNames()

java.util.Enumeration

이름을 Enumeration 객체 타입으로반환

getFile(String name)

java.io.File

서버에 업로드된 파일 객체 반환

getFileNames()

java.util.Enumeration

input태그의 type이 file인것 반환

getFilesystemName(String name)

String

서버에 업로드된 파일명 반환

getOriginalFileName(String name)

String

사용자가 업로드한 실제 파일명 반환

② Commons-FileUpload

서버의 메모리상에서 파일 처리가 가능하도록 지원

 

[파일을 업로드 하려면]

1) DiskFileUpload 객체 생성

2) 웹 브라우저가 전송한 multipart/form-data 유형의 요청 파라미터를 가져옴

3) FileItem 클래스의 메소드를 사용하여 분석 및 처리 후 파일 업로드

[FileItem 클래스로 업로드 파일을 저장하는 방법]

- write() 메소드 사용

- getInputStream() 메소드를 사용하여 바이트 데이터를 가져와 FileOutputStream()을 사용하여 파일에 출력

- get() 메소드로 가져온 바이트 배열을 FileOutputStream을 사용하여 파일 출력


연습문제

01. 파일 업로드를 위한 form 태그 내에 반드시 설정해야 하는 기법은 무엇인가?

<form method="POST" enctype="multipart/form-data" action="파일업로드를 처리할 jsp파일">

<input type="file">

02. 파일을 서버에 업로드하는 처리 기법에 대해 간단히 설명하시오.

1) MultipartRequest : 웹 페이지에서 서버로 업로드되는 파일 자체만 다루는 클래스

2) Commons-FileUpload : 서버의 메모리상에서 파일 처리가 가능하도록 지원