http://www.servlets.com/cos/   --> 서블릿 .. 홈페이지.

enctype = "multipart/form-data" => 태그를 주면 사용자의 pc에서 올린

//멀티 타입으로 설정했을때는 . request. 사용 불능. .    

 MultipartRequest mr = new MultipartRequest(request,savePath,max,"EUC-KR", new DefaultFileRenamePolicy());
      // 요청, 파일저장될위치, 파일 최대길이, 인코딩,  중복 불가능하게 하는메소드 
 System.out.println("file1 : "+ mr.getParameter("file1"));
 
 File file1 = mr.getFile("file1");
 System.out.println("file1 :" + file1.getName());
 System.out.println("original : "+request.getParameter("title"));
 System.out.println("mr : "+ mr.getParameter("title"));

 


base64인코딩
<form action="pdsInputAction.jsp" method ="post" enctype = "multipart/form-data">
  <h2>파일등록</h2>
 
   <tr>
    <td>첨부파일1</td>
    <td><input type = "file" name = "file1"></td>
   </tr>

 

자료실 두번째..

http://commons.apache.org/fileupload/
파일 업로드에 필요한 파일 다운로드

http://commons.apache.org/io/
io압축파일 다운로드

  cos     apache파일업로드
차이점  잘못된 파일 그냥 업로드  파일을 temp에 보관했다가 파일 업로드 결정시 저장 

 

common 저장
 중요 .. ******************************
 DiskFileItemFactory factory = new DiskFileItemFactory(); 임시 파일저장소
 factory.setSizeThreshold(1024*1024*2); 크기 지정
 factory.setRepository(new File("c:\\zzz")); 2메가 이상이 저장되면 .. 여기에 저장한다.
첨부파일 처리원칙
1. 절대 웹상의 경로에 링크로 처리하지 않는다.
 - 웹에서 보이지 않는 경로에 처리 (-> WEB-INF에 처리
2. 덮어쓰는 상황발생미리 조치  - 시간에 의한 처리 . (유니크한 값으로 .. 밀리까지지원하는 시간으로처리)
3. os의 처리 상황고려
4. 속도 고려  - 첨부 파일을 db로 처리시
5. 보안 고려 (로그인) - 다운로드

 

+ Recent posts