본문으로 바로가기

(Java)파일 업로드.jsp

category Java/eclipse 연습 2020. 9. 22. 14:41

 

<%@ 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에서 볼 수 있습니다.

 : 혹은 제 게시글을 확인해주세요

2020/08/27 - [잡학] - 톰캣(Tomcat)이 읽는 실제 경로

반응형