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
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,