본문 바로가기
프로그래밍/java

org.apache.commons.fileupload 파일 업로드

by RPoint 2012. 8. 16.

<%@ page import="org.apache.commons.fileupload.*" %>


<%@ page import="org.apache.commons.io.*" %>

<%@ page import="java.util.Date" %>

<%@ page import="java.text.SimpleDateFormat" %>


<%


 eontConfig tc = new eontConfig();


 String path = tc.getConfigValue("AttachPathOutBound"); 


 String yyyy = new java.text.SimpleDateFormat ("yyyy").format(new java.util.Date()); 

 String MM = new java.text.SimpleDateFormat ("MM").format(new java.util.Date()); 

 String dd = new java.text.SimpleDateFormat ("dd").format(new java.util.Date()); 

 

    path = path + "/" + yyyy;

File f = new File(path);

if(!f.isFile()){

if(!f.isDirectory())

f.mkdir();

}

path = path+ "/" +MM;

f = new File(path);

if(!f.isFile()){

if(!f.isDirectory())

f.mkdir();

}

path = path+ "/" +dd;

f = new File(path);

if(!f.isFile()){

if(!f.isDirectory())

f.mkdir();

}

 String save_path = "/" + yyyy+ "/" +MM + "/" +dd +"/";

 DiskFileUpload upload = new DiskFileUpload(); 

 

 upload.setSizeMax(10*1024*1024); //파일 업로드 최대 size 

 upload.setSizeThreshold(4096);//메모리에 저장할 최대 size 

 upload.setRepositoryPath(path); //파일 임시 저장소 

 



 

 java.util.List items = upload.parseRequest(request); 

 Iterator iter = items.iterator(); 

 String fileName ="";

 long fileSize =0;

 while (iter .hasNext()) { 


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

 

  if(item.isFormField()){ //input type="file"이 아닌경우 

 

    String name = item.getFieldName();// 필드 이름 

    String value = item.getString("euc-kr");// 필드 값 

  //  System.out.println(name + "=" + value); 

    

   // System.out.println("value=" + value ); 

   if(name.equals("save_name"))

   {   

  fileName = value;

   }

 

  }else{ //input type="file" 인경우 

 

   fileSize = item.getSize();//파일 사이즈 

   //실질적인 저장 

   File file = new File(path + "/" + fileName); 

   item.write(file);   

  } 

 } 

 

 save_path =  save_path + fileName;

%>


댓글