티스토리 뷰

개발/개발 자료

(JSP) File Upload

시원한물냉 2016. 2. 11. 15:04
<form action="uploadPro.jsp" method="post" enctype="multipart/form-data">
	이름 : <input type="text" name="name"><br>
	파일 : <input type="file" name="file"><br>
	<input type="submit" name="업로드"><br>
</form>


이렇게 enctype을 설정하게되면, 이전과 같은 방식으로 파라메터를 받아올 수가 없다.
http://servlets.com/cos/  에서 받아 설치한 cos.lib 를 사용하면, MultipartRequest 를 사용할 수 있게 된다.

<%@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"%>

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title></title>
		<style></style>
		<script type="text/javascript"></script>
	</head>

	<body>
	
<%
	String saveDir = application.getRealPath("/ex0820/");
	int maxSize = 1024*1024*100;
	String encType = "UTF-8";

	MultipartRequest multipartRequest
	= new MultipartRequest(request, saveDir, maxSize, encType, new DefaultFileRenamePolicy());
	
    out.write("이름 : " + multipartRequest.getParameter("name") + "<br>");
    out.write("파일 : " + multipartRequest.getParameter("file") + "<br>"); //null 값을 갖는다.
    out.write("업로드파일명 : " + multipartRequest.getFilesystemName("file") + "<br>");
    out.write("원래파일명 : " + multipartRequest.getOriginalFileName("file") + "<br>");
    
    File file = multipartRequest.getFile("file");
%>

	<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
	파일용량 : <fmt:formatNumber value="<%=file.length() %>" groupingUsed="true"/>

	</body>
</html>


너무 편리하게 파일업로드 기능이 구현되었다.
업로드 이후의 과정은 파일입출력과 폼처리이므로 이전에 살펴본 내용들을 사용해서 처리하면 된다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함