multipart 클래스 사용 예제
<!-- http://servlets.com/cos/ 접속 -> cos-26Dec2008.zip 파일 다운로드 (파일은 바뀔 수 있음) -->
<!-- WEB-INF -> lib 폴더에 추가 -->
<!-- fileSelect.jsp -->
<?xml version="1.0" encoding="EUC-KR" ?>
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" />
<title>파일 업로드예제 폼</title>
</head>
<body>
<h2>파일을 업로드예제를 시작 합니다.</h2>
<form action="upPro.jsp" name="fileUp" method="post" enctype="multipart/form-data">
<table border="1">
<tr>
<td>작성자 : </td>
<td><input type="text" name="user" /></td>
</tr>
<tr>
<td>제 목 : </td>
<td><input type="text" name="title" /></td>
</tr>
<tr>
<td>파 일 : </td>
<td><input type="file" name="uploadFile" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="전송" />
</td>
</tr>
</table>
</form>
</body>
</html>
<!-- fileupload.jsp -->
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="com.oreilly.servlet.*, com.oreilly.servlet.multipart.*" %>
<%@ page import="java.io.*, java.util.*" %>
<%
// 먼저 파일이 저장될 서버의 실제 폴더 경로를 구합니다.. ServletContext 객체를 이용합니다.
String realFolder = "";
// webApps 상의 폴더명입니다.. 이 폴더에 해당하는 실제 경로를 찾아서 realFolder 로 매핑시킵니다.
String saveFolder = "fileSave";
String charset = "euc-kr";
int maxSize = 1024 * 1024 * 1024;
realFolder = this.getServletContext().getRealPath(saveFolder);
out.println("실제 경로는 다음과 같은 위치 입니다. : " + realFolder);
try {
// 이제부터 multipartRequest 객체를 이용해서 파일을 업로드 합니다.
MultipartRequest multi = null;
multi = new MultipartRequest(request, realFolder, maxSize, charset, new DefaultFileRenamePolicy());
// 이상으로 파일 업로드 끝입니다.
//이제부터 Form에서 전송되는 파라미터 확인 해 봅니다.
Enumeration<String> params = multi.getParameterNames();
while (params.hasMoreElements()) {
String name = params.nextElement();
String value = multi.getParameter(name);
out.println("<br />" + name + " : " + value + "<br />");
}
out.println("<hr color='red' />");
out.println("업로드 된 파일의 정보 입니다.");
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
String fileName = multi.getFilesystemName(name);
String originName = multi.getOriginalFileName(name);
String type = multi.getContentType(name);
// 전송된 파일의 실제 속성을 열여봅니다.
File file = multi.getFile(name);
out.println("파라미터의 이름 : " + name + "<br />");
out.println("실제 파일 이름 : " + originName + "<br />");
out.println("저장된 파일 이름 : " + fileName + "<br />");
out.println("파일타입 : " + type + "<br />");
if (file != null) {
out.println("크기 : " + file.length());
out.println("<br />");
}
}
} catch (Exception e) {
e.printStackTrace();
}
%>
'JAVA' 카테고리의 다른 글
multipart 파일체크 (4) | 2019.04.09 |
---|---|
multipart 파라미터 받기 (0) | 2019.02.28 |
multipart 케스팅 (0) | 2019.02.28 |
multipart 리졸버 (0) | 2019.02.28 |
method 동적 호출 (0) | 2019.02.27 |