반응형
필요한 라이브러리
commons-fileupload-1.2.jar
commons-io-1.3.1.jar
cos.jar
* 위와 같은 라이브러리 3개가 필요하다. 중요한 것은 어플리케이션 쪽이 아닌, 톰캣(WAS) 쪽에 있어야 한다. 이유는 확인중입니다. WAS 딴에 넣지 않으면 잘 안되니 유의하시기 바랍니다. ㅡㅜ
1. 폼에서 enctype 형식이 멀티파트 형식이어야 한다.
<form enctype ="multipart/form-data" >
<input type="file" name="photo_file" id="photo_file" value=""/>
</form>
2. 파라미터를 받는 위치에서. 자바소스 추가.
//===================================================
//파일업로드 기능 구현
//---------------------------------------------------
String saveDir = "photo"; //사용할 폴더명
String tempDir = "photo_temp"; //사용할 임시폴더명
int maxUploadSize = 2 * 1024 * 1024; //파일업로드 제한사이즈
//---------------------------------------------------
String realPath = request.getRealPath("/"); //현재 폴더 위치 가져옴.
String savePath = realPath + saveDir; //각각 위치를 붙여주고
String tempPath = realPath + tempDir; //각각 위치를 붙여주고
//---------------------------------------------------
//파라미터 받아오는 형식을 Request 에서 MultipartRequest 로 변경
MultipartRequest multi = null;
multi = new MultipartRequest(request, tempPath, maxUploadSize);
//---------------------------------------------------
if(multi.getFile("photo_file") != null){ //업로드된 파일이 있을 시
StringTokenizer oriFileName = new StringTokenizer(multi.getFilesystemName("photo_file"), ".");
String[] tmpFileName = new String[2];
tmpFileName[0] = oriFileName.nextToken();
tmpFileName[1] = oriFileName.nextToken();
File orif = multi.getFile("photo_file");
File newf = new File(savePath,tmpFileName[0]+"."+tmpFileName[1]);
//DB 에 넣을 값(PATH 와 YN)
String photo_url = saveDir + "/" + tmpFileName[0]+"."+tmpFileName[1]; //파일 주소[디비로 넘길 값]
String photo_yn = "Y";
//DB 에 넣을 값(PATH 와 YN)
orif.renameTo(newf); //파일 생성
out.println("<br/> Successfully<br/>"); //완료시
} else {
out.println("<br/> Return : Attach File is Null <br/>"); //업로드된 파일이 없을 경우
}
*. lib 를 추가하는 부분에서 유의하시기 바랍니다. 그리고 위와 같은 방식의 소스를 검색해보시면 쉽게 찾으실수 있습니다. 다른 방법도 있는 것으로 보이는데, 중요한 점은 파일첨부를 하려면 enctype 이 Multipart~ 방식이어야 한다는 것이네요.
반응형
'개발 > 자바 Java' 카테고리의 다른 글
JAVA_변수 형 변환 (0) | 2011.01.31 |
---|---|
[JSP] 한글 파라미터 처리 (0) | 2011.01.04 |
JAVA_JDK 환경변수 셋팅 (0) | 2010.11.25 |
[자바 Java] 라이브러리 추가 하는 방법 (0) | 2010.11.24 |
[JSP] REQUEST/RESPONSE Header/Agent 정보 확인하기 예제 (0) | 2010.11.02 |
[Java] 오늘 일자 구하기 (0) | 2010.10.26 |
자바 큰 따옴표 (0) | 2010.10.26 |
[JSP] jsp include (0) | 2010.10.15 |