ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [4주][5일][5~8th] JSP: 파일 업로드
    N스크린하이브리드앱과정/JSP:Model-1 2013. 8. 9. 15:56

    ★ 용어 정리

     - request.getRealPath() : 웹 경로를 실제 서버의 디렉토리 경로로 지정해준다

                                       (파일이 다운로드될 공간).

     

    * MultipartRequest 클래스 -> 인자 5개

     - 예 : new MultipartRequest(request,uploadPath,maxSize,"utf-8",new DefaultFileRenamePolicy());

    1. request :

    2. uploadPath : 업로드 될 파일의 위치를 의미 

    3. maxSize : 한번에 업로드 할 크기

    4. "utf-8" : 한글도 문제없이 처리하게끔 처리

    5. new DefaultFileRenamePolicy() : 똑같은 파일을 업로드 할 경우 자동으로 파일 이름을 변환해주

                                                    는 기능

     

    * 메서드

    getParameter : Request 객체에 있는 해당 파라미터의 값을 가져옴

    getOriginalFileName : 클라이언트가 업로드 한 파일의 이름

    getFilesystemName : 서버에 실제로 업로드 된 파일 이름

    getContentType : 파일 타입을 알려줌

     

     

    ☆ 실습(1) : 파일 업로드하기

     - 2개의 파일 필요 : "uploadForm.jsp", "uploadPro.jsp"

     (1) "uploadForm.jsp"

    <h1>파일업로드폼</h1>
    <form action="uploadPro.jsp" method="post" enctype="multipart/form-data">
    올린사람: <input type="text" name="name"><br>
    제목: <input type="text" name="subject"><br>
    파일명: <input type="file" name="file"><br>
    <input type="submit" value="전송">
    </form>

     

     (2) "uploadPro.jsp"

    <%
    String uploadPath = request.getRealPath("upload");
    int maxSize = 5*1024*1024;
    MultipartRequest multi = new MultipartRequest(request,uploadPath,maxSize,"utf-8",new DefaultFileRenamePolicy());
    %>
    올린사람: <%=multi.getParameter("name") %><br>
    제목: <%=multi.getParameter("subject") %><br>
    파일경로: <%=uploadPath %><br>
    원파일이름: <%=multi.getOriginalFileName("file") %><br>
    시스템에 올린 파일이름: <%=multi.getFilesystemName("file") %><br>
    파일타입: <%=multi.getContentType("file") %><br>
    <a href="../upload/<%=multi.getFilesystemName("file") %>">올린파일하이퍼링크</a>

     

    결과

     

     

    하이퍼링크를 눌렀을 때

     

    ☆ 실습(2) : 파일 업로드 실습

     - 파일 2개 필요 : "uploadForm2.jsp", "uploadPro2.jsp"

    (1) "uploadForm.jsp"

    <h1>파일 업로드 ^___^</h1>
    <form action="uploadPro2.jsp" method="post" enctype="multipart/form-data">
    올린사람: <input type="text" name="name"><br>
    제목: <input type="text" name="subject"><br>
    파일명1: <input type="file" name="file1"><br>
    파일명2: <input type="file" name="file2"><br>
    <input type="submit" value="전송">
    </form>

     

    (2) "uploadPro.jsp"

    <%
     String uploadPath = request.getRealPath("upload");
     int size = 10*1024*1024;
     MultipartRequest multi = new MultipartRequest(request,uploadPath,size,"utf-8",new DefaultFileRenamePolicy());
    %>
    올린사람: <%=multi.getParameter("name") %><br>
    제목: <%=multi.getParameter("subject") %><br>
    파일명1: <a href="../upload/<%=multi.getFilesystemName("file1") %>">파일명1: <%=multi.getFilesystemName("file1") %></a><br>
    파일명2: <a href="../upload/<%=multi.getFilesystemName("file2") %>">파일명2: <%=multi.getFilesystemName("file2") %></a>

     

    결과

     

     

     

Designed by Tistory.