JAVA

file upload

주원만쉐 2015. 12. 23. 10:28
728x90


import java.io.PrintWriter;

import java.io.IOException;

import java.io.File;


import java.util.List;

import java.util.Iterator;

import java.util.Calendar;


import java.lang.Exception;


import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import org.apache.commons.fileupload.FileItem;


import 


public class FileUp extends HttpServlet

{

   public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException

  {

      try

      {

          response.setContentType("text/html;charset=euc-kr");

          PrintWriter out = response.getWriter();

   

          long yourMaxRequestSize = 5 * 1024 * 1024; // 최대 저장할수 있는 파일 사이즈5MBytes

          int  yourMaxMemorySize  = 1024* 50;           // memory size setting

         

          DiskFileItemFactory factory = new DiskFileItemFactory();

          factory.setSizeThreshold(yourMaxMemorySize);

 

          ServletFileUpload upload = new ServletFileUpload(factory);

          upload.setSizeMax(yourMaxRequestSize);

         

          List list = upload.parseRequest(request);

          out.print("파일 갯수 : " + list.size() + "<br>");


          Iterator iter = list.iterator();


          while(iter.hasNext())

          {

             FileItem item = (FileItem)iter.next();


             if(item.isFormField())            //폼체크

             {

                String name = item.getFieldName();

                String value = item.getString();


                out.print( "name = " + name + ", value = " + value + "<br>");

             }

             else

             {

                //상대경로 설정시(참고)

                //String contextPath = application.getRealPath("/");

                //File uploadedFile = new File(contextPath + "\\upload\\" + fileName );

                String uploadPath = "C:\\worktest\\test_servlet\\web\\test\\";


                //String fullFileName = item.getName();         //업로드파일

                //int pos = fullFileName.lastIndexOf("\\"); 

                //String fileName = fullFileName.substring(pos + 1);     //파일명

           

                Calendar currentSec = Calendar.getInstance();

                String fileName = Long.toString(currentSec.getTimeInMillis()) + ".xls"; 

                //파일명의 중복을 막기위해  milli Second로 파일명 

           

                File uploadedFile = new File(uploadPath + fileName);  

                item.write(uploadedFile);          //파일업로드


                out.print( "파일명 : " + fileName + "<br>저장완료!!<br>");

        

                String tab = ExcelConvert.ExcelToWeb(uploadPath + fileName); //엑셀을 XML로 변환

                out.print(tab);           

             }

          }

       }

       catch(FileUploadException e)

       {

          e.toString();

       }

       catch(IOException e)

       {

           e.toString();

       }

       catch(Exception e)

       {

          e.toString();

       }

   }

}


728x90