2010. 4. 8. 21:14ㆍplming/HTML-Web
일반적으로 form 을 submit 하게되면,
form안의 element들이 id 나 name으로 submit된다.
submit을 받아 처리하는 action에 정의된 handler들에서는
request.getParameter( "xxx" ); 를 통해 값을 받게 되는데...
파일을 서버에 저장하기 위해서
<form enctype="multipart/form-data" ... 을 사용하게 된다.
하지만, 이때는...
submit을 받아 처리하는 action에 정의된 handler들에서는
request.getParameter( "xxx" ); 를 통해 값을 받을 수 없다...!!!
왜 값이 안넘어가는거야...ㅡㅡ;;;
아무리 울어도 소용이 없다.
그렇다...줄 넘(?)한테서 달라고 요구를 해야하는 것이었다...!!!!!!
그늠은 바로...
com.oreilly.servlet.MultipartRequest
요놈이다.
요놈을 요롷게 사용하면 좋다...
if( request.getContentType() != null && request.getContentType().indexOf("multipart/form-data") > -1 ) {
String saveDirectory = config.getServletContext().getRealPath( uploadDir + "/education" );
File dir = new File( saveDirectory );
if( !dir.exists() ) dir.mkdir();
int maxSize = 10 * 1024 * 1024;
DefaultFileRenamePolicy dfrp = new DefaultFileRenamePolicy();
MultipartRequest multi = new MultipartRequest( request, saveDirectory, maxSize, "euc-kr", dfrp );
multi.getParameter( "xxx" );
}
MultipartRequest 를 사용하면
MultipartRequest 를 new 하는 순간에...
<input type="file" ... 로 정의 되어있는 파일들이 saveDirectory로 지정된 곳에 upload 된다.
파일이름이 같은 경우를 위해서는,
DefaultFileRenamePolicy 를 써주면 좋다. (안써도 무방하다)
저장되는 파일명은 aaa.txt 가 2개라면...
두번째 파일은 aaa(1).txt로 저장된다.
저장되는 파일명과
보여줄 파일명이 다를테니...
DB에 저장할 때는...2개 다 저장하는 게 좋을 것 같다.
아~~~주 상세한 설명은 아래를 참고하시라~
"MultipartRequest를 이용하여 업로드구현하기":http://aboutjsp.com/lec/multipart.jsp
'plming > HTML-Web' 카테고리의 다른 글
HTML Object Reference (0) | 2015.05.27 |
---|---|
반응형 웹 입력폼 코딩 (0) | 2015.05.25 |
반응형 웹 디자인 (0) | 2015.05.19 |
iframe 내부항목 접근 시 액세스 거부되는 현상 (0) | 2010.11.09 |
긴 글...일정 부분만 보이도록 하기... (2) | 2009.05.15 |