# File Upload
(1) HTML - uploadForm.html
file을 업로드할 때, <input>태그의 type 속성 값을 file로 지정한다.
...더보기
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body style="background-color:pink">
<center>
<h2>File Upload</h2>
<form action="upload.jsp" method="post" enctype="multipart/form-data">
<label for="name">작성자</label> <input type="text" name="name"
id="name" />
<p>
제목 : <input type="text" name="title" />
<p>
파일 명 : <input type="file" name="uploadFile" />
<p>
<input type="submit" value="확인">
</form>
</center>
</body>
</html>
(2) JSP - upload.jsp
파일을 가져올때는 반드시 MultipartRequest로 받아야한다. 가장 유명함.
...더보기
<%@page import="java.io.File"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="java.util.Enumeration"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body style="background-color:pink">
<%
request.setCharacterEncoding("UTF-8");
int maxSize = 5 * 1024 * 1024;
String fileSave = "/fileSave";
String realPath = getServletContext().getRealPath(fileSave);
System.out.println("realPath --> "+realPath);
MultipartRequest multi = new MultipartRequest(request, realPath, maxSize, "UTF-8", new DefaultFileRenamePolicy());
Enumeration en = multi.getFileNames();
while(en.hasMoreElements()){
// input 태그의 속성이 file인 태그의 name 속성 값:파라미터 이름
String filename1 = (String)en.nextElement();
// 서버에 저장된 파일 이름
String filename = multi.getFilesystemName(filename1);
// 전송전 원래의 파일 이름
String original = multi.getOriginalFileName(filename1);
// 전송된 파일의 내용 타입
String type = multi.getContentType(filename1);
// 전송된 파일 속성이 file인 태그의 name 속성값을 이용해 파일 객체 생성
File file = multi.getFile(filename1);
out.println("Real Path : "+realPath+"<br>");
out.println("Parameter Name : "+filename1+"<br>");
out.println("Real File Name : "+original+"<br>");
out.println("Stored File Name : "+filename+"<br>");
out.println("File Type : "+type+"<br>");
if(file!=null){
out.println();
}
}
String name = multi.getParameter("name");
String title = multi.getParameter("title");
%>
</body>
</html>
Result
'청년취업아카데미 > DayLog' 카테고리의 다른 글
[ JS ] Day 12 - ② JavaScript 객체 (0) | 2019.07.25 |
---|---|
[ JS ] Day 12 - ① JavaScript 기본 (0) | 2019.07.25 |
[ JSP ] Day 12 - ① JAVA BEANS (0) | 2019.07.25 |
[ JSP ] Day 10 - ④ 서블릿(Servlet) (0) | 2019.07.24 |
[ JSP ] Day 11 - ① JSTL (0) | 2019.07.24 |