1. 파일 업로드 라이브러리 설치
① http://www.servlets.com -> com.oreilly.servlet -> 맨 아래 Download 항목의 cos-버전명.zip 다운로드
② 다운받은 파일의 압축을 해제하고, lib\cos.jar 파일을 WEB-INF\lib에 복사
# 업로드 라이브러리는 여러 종류가 있으며, 그 중 하나만 선택하여 실습한다
2. 파일 업로드 프로그래밍
① 업로드된 파일을 저장할 폴더를 WebContent의 하위 폴더로 생성
- 이클립스의 워크벤치에 폴더를 생성하면 톰켓에서도 같은 경로에 동일한 이름의 폴더가 생성된다
- 실제 파일은 톰켓의 폴더에 업로드 된다
② 서버의 실제 경로 확인
③ 파일 업로드 테스트
- uploadForm.jsp: 업로드 페이지
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>파일 업로드 페이지</title>
</head>
<body>
<form action="uploadOK.jsp" method="post" enctype="multipart/form-data">
파일: <input type="file" name="file"><br />
<input type="submit" value="File Upload">
</form>
</body>
</html>
- uploadOK.jsp : 업로드 처리 및 결과 페이지
<%@page import="java.util.Enumeration"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
String path = request.getRealPath("uploadFolder");
int size = 1024 * 1024 * 10; // 최대 용량 10MB
String file ="";
String oriFile = "";
try{
MultipartRequest multi = new MultipartRequest(request, path, size, "EUC-KR", new DefaultFileRenamePolicy());
Enumeration files = multi.getFileNames();
String str = (String)files.nextElement();
file = multi.getFilesystemName(str);
oriFile = multi.getOriginalFileName(str);
} catch (Exception e) {
e.printStackTrace();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
파일 업로드 성공!!
</body>
</html>