<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>fileUploadForm</title>
</head>
<body>
<div align="center">
<form action="fileUpload.jsp" method="post" enctype="multipart/form-data">
<table border="1">
<tr>
<td colspan="2" align="center"><h3>파일 업로드 폼</h3></td>
</tr>
<tr>
<td>올린 사람</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>제목</td>
<td><input type="text" name="subject"></td>
</tr>
<tr>
<td>파일명1</td>
<td><input type="file" name="fileName1"></td>
</tr>
<tr>
<td>파일명2</td>
<td><input type="file" name="fileName2"></td>
</tr>
<tr>
<td colspan="2" align="center"><button type="submit">전송</button></td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@ page import="java.util.*"%>
<%
request.setCharacterEncoding("UTF-8");
String uploadPath = request.getRealPath("upload");
int size = 10 * 1024 * 1024;
String name = "";
String subject = "";
String filename1 = "";
String filename2 = "";
try {
MultipartRequest multi = new MultipartRequest(request,
uploadPath, // 실제 경로
size, // 사이즈
"UTF-8", // 인코딩
new DefaultFileRenamePolicy()); // 중복처리
name = multi.getParameter("name");
subject = multi.getParameter("subject");
Enumeration files = multi.getFileNames();
String file1 = (String) files.nextElement();
filename1 = multi.getFilesystemName(file1);
String file2 = (String) files.nextElement();
filename2 = multi.getFilesystemName(file2);
} catch (Exception e) {
e.printStackTrace();
}
%>
<html>
<body>
<%--다음페이지에 정보를 넘기기위해 hidden 사용 --%>
<form name="filecheck" action="fileCheck.jsp" method="post">
<input type="hidden" name="name" value="<%=name%>"> <input
type="hidden" name="subject" value="<%=subject%>"> <input
type="hidden" name="filename1" value="<%=filename1%>"> <input
type="hidden" name="filename2" value="<%=filename2%>">
</form>
<a href="#" onclick="javascript:filecheck.submit()">업로드 확인 및 다운로드
페이지 이동</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String subject = request.getParameter("subject");
String filename1 = request.getParameter("filename1");
String filename2 = request.getParameter("filename2");
%>
<head>
<meta charset="UTF-8">
<title>파일 업로드 확인 및 다운로드</title>
</head>
<body>
<div align="center">
<table>
<tr>
<td>올린 사람 : </td>
<td><%=name %></td>
</tr>
<tr>
<td>제목 : </td>
<td><%=subject %></td>
</tr>
<tr>
<td>파일명1 : </td>
<td><a href="upload/<%=filename1%>"><%=filename1 %></a></td>
</tr><%--upload폴더에서 불러옴 --%>
<tr>
<td>파일명2 : </td>
<td><a href="upload/<%=filename2%>"><%=filename2 %></a></td>
</tr>
</table>
</div>
</body>
</html>
실제경로에 폴더를 생성하지 않을 시 오류가 발생함.
: 실제경로는 콘솔에 오류코드에서 Not a directory에서 볼 수 있습니다.
: 혹은 제 게시글을 확인해주세요
반응형
'Java > eclipse 연습' 카테고리의 다른 글
(Java)JSP 빈즈를 이용한 회원가입폼(DB x) (0) | 2020.08.28 |
---|---|
(Java)계산기 Servlet version (0) | 2020.08.25 |
(JavaScript)계산기 (0) | 2020.08.20 |
(JavaScript)현재 시간(1초마다 갱신) (0) | 2020.08.20 |
(Java)Thread Synchronization - ATM (0) | 2020.08.13 |