준비사항

  1. http://www.servlets.com/cos/ 에서 com.oreilly.servlet 을 다운받는다. 압축을 풀면 lib 폴더에 cos.jar 파일이 있는데, 진행하고 있는 프로젝트 폴더의 WebContent\WEB-INF\lib 에 cos.jar 을 넣는다.

  2. 프로젝트 폴더의 WebContent 폴더 아래에 업로드할 파일이 저장될 폴더(fileFolder) 를 만든다. 그러나 실제 파일이 업로드되는 위치는 apache-tomcat-9.0.34\wtpwebapps\jsp_22_2_ex1_fileex\fileFolder 로, 톰캣 서버 폴더에 생성된 프로젝트에 저장된다.

코드

<form action="fileFormOk.jsp" method="post" enctype="multipart/form-data">
    파일 : <input type="file" name="file"><br />
    <input type="submit" value="File Upload">
</form>

form 태그에 enctype="multipart/form-data 로 설정해야한다.

<!-- fileFormOk.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();
		
		file = multi.getFilesystemName(str);
		oriFile = multi.getOriginalFileName(str);
		
	} catch (Exception e) {
		e.printStackTrace();
	}
%>


https://www.youtube.com/playlist?list=PLieE0qnqO2kTyzAlsvxzoulHVISvO8zA9