http://www.servlets.com 접속하면 해당 화면이 나오는데 여기서 com.oreilly.servlet을 클릭하시면 됩니다.
해당 화면을 아래로 스크롤 하시다보면 Download 항목이 있습니다. 그 곳에 있는 cos-26Dec2008.zip를 다운받으시면 됩니다.
다운 받으신 후 압출을 풀고 해당 lib 폴더안의 cos.jar 파일을 복사합니다.
이것을 사용하고있는 프로젝트에 WEB-INF > lib 폴더에 붙여넣어 사용하시면 됩니다.
그리고 파일 업로드할 시 저장될 폴더를 WebContent안에 만들어 줍니다. (File)
그 후 해당 소스코드로 사용하시면 간단히 사용하실 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>File Form Page</title> </head> <body> <h1>File Form Page</h1> <hr> <!-- 파일 업로드를 위해서는 form에 속성을 enctype="multipart/form-data" 라고 부여해야지만 가능하다. --> <form action="fileFormOK.jsp" method="post" enctype="multipart/form-data"> 파일 : <input type="file" name="file"><br/> <input type="submit" value="File Upload"> </form> </body> </html> | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <%@page import="java.util.Enumeration"%> <%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%> <%@page import="com.oreilly.servlet.MultipartRequest"%> <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <% // 실제로 서버에 저장되는 path String path = request.getRealPath("File"); out.println("절대 경로 : " + path + "<br/>"); int size = 1024 * 1024 * 10; // 파일 사이즈 설정 : 10M String fileName = ""; // 업로드한 파일 이름 String originalFileName = ""; // 서버에 중복된 파일 이름이 존재할 경우 처리하기 위해 // cos.jar라이브러리 클래스를 가지고 실제 파일을 업로드하는 과정 try{ // DefaultFileRenamePolicy 처리는 중복된 이름이 존재할 경우 처리할 때 // request, 파일저장경로, 용량, 인코딩타입, 중복파일명에 대한 정책 MultipartRequest multi = new MultipartRequest(request, path, size, "EUC-KR", new DefaultFileRenamePolicy()); // 전송한 전체 파일이름들을 가져온다. Enumeration files = multi.getFileNames(); String str = (String)files.nextElement(); //파일명 중복이 발생했을 때 정책에 의해 뒤에 1,2,3 처럼 숫자가 붙어 고유 파일명을 생성한다. // 이때 생성된 이름을 FilesystemName이라고 하여 그 이름 정보를 가져온다. (중복 처리) fileName = multi.getFilesystemName(str); //실제 파일 이름을 가져온다. originalFileName = multi.getOriginalFileName(str); }catch(Exception e){ e.printStackTrace(); } %> <!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>File Upload Result</title> </head> <body> <h1>File Upload Result</h1> <hr> <h2><span>file upload success!!</span></h2> </body> </html> | cs |
업로드하시면 프로젝트 폴더에 들어가는게 아니라 실제 서버 프로젝트 절대 경로에 들어가게 됩니다.
절대경로 : < 프로젝트경로\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\fileuploadTest\File >
간접경로에 파일이 업로드 x
이 처럼 서버의 직접경로에 업로드 된다.
감사합니다.
JSTL 개요 및 설치, Core 사용법 (0) | 2018.10.26 |
---|---|
EL(Expression Language) 예제 (0) | 2018.10.25 |
DAO, DTO, PreparedStatement, DBCP를 이용한 간단한 회원인증 (0) | 2018.10.25 |
간단한 회원가입 및 회원정보 수정 (0) | 2018.10.24 |
JDBC 연동 후 DB 테스트 (0) | 2018.10.22 |
댓글 영역