본문 바로가기
JSP/JSP & Servlet

파일 업로드

by avvin 2019. 5. 21.

FileUp.jsp

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
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<body>
 
<div style ="text-align:center">
<h2> 파일 업로드 </h2>
<form action="FileUploadProc.jsp" method="post" enctype="multipart/form-data">
<table width="350" border="1" bordercolor="gray">
    <tr height="40">
        <td width="150"> 이름 </td>
        <td width="200"><input type="text" name="name" ></td>
    </tr>
    <tr height="40">
        <td width="150"> 파일 선택 </td>
        <td width="200"><input type="file" name="filedata" ></td>
    </tr>
    <tr height="40">
        <td align="center" colspan="2">
        <input type ="submit" value="파일 업로드"></td>
    </tr>
</table>
</form>
</div>
 
</body>
</html>
cs


FileUploadProc.jsp

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
32
33
34
35
36
37
38
39
40
41
42
43
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<body>
    <%
        request.setCharacterEncoding("euc-kr");
 
        //프로젝트 내에 만들어질 폴더를 저장할 이름 변수 선언
 
        String realfolder = "";
        //실제 만들어질 폴더명을 설정
        String savefolder = "/upload";
        //한글 설정
        String encType ="euc-kr";
        //저장될 파일 사이즈를 설정
        int maxSize = 1024*1024*5;//5m
        
        //파일이 저장될 경로값을 읽어오는 객체
        ServletContext context = getServletContext();
        realfolder = context.getRealPath(savefolder);
        
        try{
            //cos.jar에 있는 클래스 객체
            MultipartRequest multi = new MultipartRequest
            (request, realfolder, maxSize, encType, new DefaultFileRenamePolicy());
            //DefaultFileRenamePolicy() 자동으로 파일 이름 변경
            
            %>
            이름 : <%=multi.getParameter("name")%>
            <% 
            out.println(realfolder);
//realfolder경로 제대로 볼것
            
        }catch(Exception e){
            e.printStackTrace();
        }
        
    %>
 
</body>
</html>
cs