파일 업로드를 위한 jar파일 다운로드
- 3개의 파일을 WEB_INF → lib 폴더에 복사해준다.
파일 업로드를 위한 페이지 fileSelect.jsp
- 파일에 input의 type을 “file”로 설정에 파일을 선택할 수 있게 함
- submit으로 전송
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h2> 파일 업로드 - 선택 페이지 </h2>
<form method="post" enctype="multipart/form-data" action="fileUpload.jsp">
<table border="1">
<tr>
<th> 이름 </th>
<td> <input type="text" name="name"> </td>
</tr>
<tr>
<th> 제목 </th>
<td> <input type="text" name="title"> </td>
</tr>
<tr>
<th rowspan="2"> 파일 </th>
<td> <input type="file" name="upload1"> </td>
</tr>
<tr>
<td> <input type="file" name="upload2"> </td>
</tr>
<tr>
<th colspan="2">
<input type="submit" value="전송">
<input type="reset" value="취소">
</th>
</tr>
</table>
</form>
파일업로드 처리를 위한 페이지 fileUpload.jsp
- path 객체를 만들어 application.getRealPath 메소드를 통해 “/save”로 경로를 설정해줌.
- File 내장함수에 path객체를 받아 디렉토리 설정
- MutipartRequest 객체에 매개변수로 요청, 경로, 사이즈, 글변환, 파일명을 받아준다.
<%@page import="java.net.URLEncoder"%>
<%@page import="java.io.File"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h2> 파일 업로드 - 처리 페이지 </h2>
<%
String path = application.getRealPath( "/save" );
new File( path ).mkdir();
%>
저장 경로 : <%=path%> <br>
<%
MultipartRequest multi
= new MultipartRequest( request, path, 1024*1024*5, "utf-8", new DefaultFileRenamePolicy() );
String originName1 = multi.getOriginalFileName( "upload1" );
String originName2 = multi.getOriginalFileName( "upload2" );
String systemName1 = multi.getFilesystemName( "upload1" );
String systemName2 = multi.getFilesystemName( "upload2" );
%>
파일이름 1 : <%=originName1%> <br>
저장이름 1 : <%=systemName1%> <br>
파일이름 2 : <%=originName2%> <br>
저장이름 2 : <%=systemName2%> <br>
<%
String name = multi.getParameter( "name" );
String title = multi.getParameter( "title" );
%>
이름 : <%=name%> <br>
제목 : <%=title%> <br>
<br>
<h2> 파일 다운로드 </h2>
<%--
파일 1 : <a href="/JSP/save/<%=systemName1%>"><%=originName1%></a> <br>
파일 2 : <a href="/JSP/save/<%=systemName2%>"><%=originName2%></a> <br>
--%>
<%
String originName11 = URLEncoder.encode( originName1, "utf-8" );
String systemName11 = URLEncoder.encode( systemName1, "utf-8" );
String originName22 = URLEncoder.encode( originName2, "utf-8" );
String systemName22 = URLEncoder.encode( systemName2, "utf-8" );
%>
파일 1 : <a href="fileDownload.jsp?originName=<%=originName11%>&systemName=<%=systemName11%>">
<%=originName1%></a> <br>
파일 2 : <a href="fileDownload.jsp?originName=<%=originName22%>&systemName=<%=systemName22%>">
<%=originName2%></a> <br>
처리과정 이미지
- 정상적으로 파일이 경로로 들어온것을 확인할 수 있다.