해당 자료 첨부
-
1. multipartRequest 를 이용하기 위해서는 cos.jar 파일이 필요하다.
이 파일은 www.servlets.com 사이트에 있다.
com.oreilly.servlet 메뉴에 들어가면 cos-26Dec2008.zip 파일을 다운로드 할 수 있다.
이 파일의 압축을 풀면 lib 폴더에 cos.jar 파일이 있다.
이것을 tomcat 의 lib 폴더에 넣으면 된다.
2. jsp 의 form 에 다음과 같은 내용을 넣는다.
- <form name="form" method="post" enctype="multipart/form-data">
3. 파일을 받는 jsp(보내는 jsp가 아님) 에서 com.oreilly.servlet 패키지를 import.
- <%@ page import = "com.oreilly.servlet.*" %>
4. 받는 부분 코딩
- MultipartRequest multi =
new MultipartRequest(request, "파일 저장 경로(String)", 파일크기(int), "인코딩");
- MultipartRequest multi =
new MultipartRequest(request, savePath, sizeLimit, "euc-kr", new
DefaultFileRenamePolicy());
- DefaultFileRenamePolicy객체는 파일이 중복되면 이름을 바꿔 1 2 3 으로 파일이름을 변경
한다.
5. MultipartRequest 를 사용 하게 되면 톰캣의 request 객체의 getParameter 메서드를 이용하여 값을 전달 받지 못한다. 따라서 MultipartRequest를 사용하게 되면 값을 전달 받기 위해서는 MultipartRequest 객체의 getParameter 메서드를 이용하여 값을 전달 받아야 한다.
ex) String name = multi.getParameter("name");
6. 파일을 저장할 경로는 직접 써주기 보다는 톰캣의 내장 객체인 application 객체의
getRealPath() 메서드를 사용하자.
String savePath = application.getRealPath("파일을 저장할 폴더");
ex) String savePath = application.getRealPath("/product");
MultipartRequest multi = new MultipartRequest(request, savePath);
7. 파일 이름을 받아올때는 MultipartRequest 의 getFileSystemName 메서드를 사용한다.
String fileName = multi.getFilesystemName("파라미터 name");
ex) String fileName = multi.getFilesystemName("fileName");
[original link] http://blog.naver.com/ghawk?Redirect=Log&logNo=60063747091