Changes between Version 11 and Version 12 of egov

차이점 주위로
다음 차이점은 무시하기:
작성자:
anonymous (IP: 221.150.127.103)
날짜/시간:
2013-12-31 PM 1:03:27 (11 년 전)
설명:

--

Legend:

변경되지 않음
추가됨
제거됨
변경됨
  • egov

    v11 v12  
     1{{{ 
     2package com.mefour.servlet; 
    13 
     4import java.io.*; 
     5import javax.servlet.*; 
     6import javax.servlet.http.HttpServletRequest; 
     7import javax.servlet.http.HttpServletResponse; 
     8import com.oreilly.servlet.MultipartRequest; 
     9import com.oreilly.servlet.multipart.DefaultFileRenamePolicy; 
     10import java.util.*; 
     11 
     12public class UploadServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { 
     13        // 원래 파일 업로드는 post 방식이기 때문에 goGet은 쓰이지않는다. 
     14        /* 
     15         * protected void doGet(HttpServletRequest request, HttpServletResponse 
     16         * response) throws ServletException, IOException { doPost(request, 
     17         * response); }// doGet 
     18         */ 
     19        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     20                response.setContentType("text/html;charset=UTF-8"); 
     21                PrintWriter out = response.getWriter(); 
     22                request.setCharacterEncoding("UTF-8"); 
     23                 
     24                /* 
     25                 //톰캣 플러그인을 사용하는 경우 
     26                 String savePath = getServletContext().getRealPath("upfolder"); 
     27                 */ 
     28                // Dynamic Web Project 의 경우 : 절대 경로를 쓴다. 
     29                String savePath = "C:/upload"; 
     30                // out.println("savePath=" + savePath);//경로 확인 
     31                int maxSize = 100 * 1024 * 1024; // 최대 업로드 파일 크기 5MB(메가)로 제한 
     32                try { 
     33                        // 한글 파일명도 업로드 가능하다 : euc-kr 
     34                        // 하지만 실제로는 한글 파일명은 처리가 불편하기 때문에 영문 파일을 쓴다. 
     35                        MultipartRequest multi = null; 
     36                        try{ 
     37                                multi = new MultipartRequest(request, savePath, maxSize, "UTF-8", new DefaultFileRenamePolicy()); 
     38                        }catch(Exception e){ 
     39                                e.printStackTrace(); 
     40                        } 
     41                        out.println("<html>"); 
     42                        out.println("<head><title>화일 업로드List</title></head>"); 
     43                        out.println("<body>"); 
     44                        out.println("<pre>"); 
     45                        Enumeration params = multi.getParameterNames(); // 파라미터명 얻기 
     46                        // 반복문으로 모두 출력하기, 현 예제에는 하나지만 나중에 여러개일 경우을 위해 준비 
     47                        while (params.hasMoreElements()) { 
     48                                String name = (String) params.nextElement(); 
     49                                String value = multi.getParameter(name); 
     50                                out.println(name + " : " + value); 
     51                        }//while 
     52/*                       
     53                        out.println("</pre>"); 
     54                        out.println("<h3>업로드된 파일에 대한 설명</h3>"); 
     55                        out.println("<pre>"); 
     56                        out.println("<table border=1>"); 
     57                        out.println("<tr>"); 
     58                        out.println("<td width=150>파일명</td>"); 
     59                        out.println("<td width=100>파일 크기</td>"); 
     60                        out.println("<td width=150>파일의 종류</td>"); 
     61                        out.println("<td width=150>파라미터명</td>"); 
     62                        out.println("</tr>"); 
     63 
     64                        Enumeration files = multi.getFileNames(); // 파일명 모두 얻기 
     65                        // 반복문으로 모두 출력, 역시 여러 파일 업로드 경우를 위해 준비 
     66                        while (files.hasMoreElements()) { 
     67                                String name = (String) files.nextElement(); 
     68                                String fileName = multi.getFilesystemName(name); // 실제 업로드된 파일명 
     69                                String type = multi.getContentType(name); 
     70                                File f = multi.getFile(name); 
     71                                out.println("<tr>"); 
     72                                out.println("<td>" + fileName + "</td>"); 
     73                                if (f != null) { 
     74                                        out.println("<td>" + f.length() + "</td>"); 
     75                                }// if 
     76                                out.println("<td>" + type + "</td>"); 
     77                                out.println("<td>" + name + "</td></tr>"); 
     78                        }// while 
     79                        out.println("</table>"); 
     80                        out.println("</pre>"); 
     81                        out.println("<h3>업로드된 파일 List</h3>"); 
     82                        out.println("<pre>"); 
     83                        File dirFile = new File(savePath); // 업로드 폴더 얻기 
     84                        File[] fileList = dirFile.listFiles(); // 현재 폴더의 모든 파일 리스트 얻기 
     85                        // 반복문으로 다운로드 링크 걸어주기 
     86                        for (int i = 0; i < fileList.length; i++) { 
     87                                String fName = fileList[i].getName(); 
     88                                out.println(fName); 
     89                        }// for 
     90                        out.println("<pre>"); 
     91*/ 
     92                } catch (Exception e) { 
     93                        out.print("예외 발생 : " + e); 
     94                }// catch 
     95        }// doPost 
     96}// end 
     97}}} 
    298 * [wiki:egov/paging paging] 
    399 * [wiki:egov/IDGeneration ID Generation]