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. 보안 고려 (로그인) - 다운로드