http://www.servlets.com 접속 -> com.oreilly.servlet 클릭해서 설치
-> cos.jar 파일을 WEB-INF>lib에 복사
fileForm.jsp(파일 업로드 폼)
<body>
<form action="fileFormOk.jsp" method="post" enctype="multipart/form-data"> //파일이 실제로 잘 첨부가 되게하려면 enctype을 선언해줘야함.
파일 : <input type="file" name="file"><br />
<input type="submit" value="File Upload">
</form>
</body>
fileFormOk.jsp(실제 파일 업로드를 위한 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("fileFolder"); //실제로 저장되는 파일들의 폴더이름
int size = 1024 * 1024 * 10; //10M
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(); // 파일명들을 str에 저장
file = multi.getFilesystemName(str); //파일 이름 구하기
oriFile = multi.getOriginalFileName(str); //실제 파일 이름 구하기
} catch (Exception e) {
e.printStackTrace();
}
%>
업로드된 파일은 이클립스 내 폴더 경로가 아닌 톰캣 서버 폴더에 생성된다.