記錄

Servlet) 파일 업로드 본문

Web/Servlet

Servlet) 파일 업로드

surhommejk 2018. 4. 4. 11:11

cos.jar 이용하면 스트림 일일이 열고 코드 칠 필요없이 간편하게 업로드가 가능하다


cos.jar


참고 : http://www.servlets.com/cos/


cos.jar 에서 다중 파일 업로드를 지원하는 객체 : MultipartRequest >> request 객체를 넘겨준다




MultipartRequest 객체의 생성자와 각 요소 설명


new MultipartRequest(
javax.servlet.http.HttpServletRequest request,
java.lang.String saveDirectory,
int maxPostSize,
java.lang.String encoding,
FileRenamePolicy policy );

    

request : MultipartRequest와 연결될 request객체를 의미한다. 

saveDirectiory : 서버측에 파일이 실질적으로 저당될 경로를 의미한다. 

maxPostSize : 한번에 업로드 할수있는 최대 파일 크기를 의미한다. 

encoding : 파일의 이름 인코딩 방식을 의미한다. 

policy : 파일이름 중복 처리를 위한 인자를 의미한다. 기본 규칙은 똑같은 파일명에는 덮어쓰기


cf) MultipartRequest가 만들어지는 순간 파일이 저장이 된다!





MultipartRequest 객체의 메서드

getParameterNames() : 폼에서 전송된 파라미터의 타임이 file이 아닌 이름들을
Enumeration 타입으로 리턴한다.
getParameterValues() : 폼에서 전송된 파라미터 값들을 배열로 받아온다.
getParameter() : Request객체에 있는 해당 파라미터의 값을 가져온다.
getFileNames() : 파일을 여러개 업로드 할 경우 타입이 file인 파라미터 이름들을
Enumeration 타입으로 리턴한다.
getFileSystemName() : 서버에 실제로 업로드 된 파일의 이름을 의미한다.
getOriginalFileName() : 클라이언트가 업로드 한 파일의 원본 이름을 의미한다.
getContentType() : 업로드 된 파일의 컨텐트 타입을 얻을때 사용한다.
getFile() : 서버에 업로드 된 파일 객체 자체를 반환하는 메소드이다.







업로드를 위한 xml(enctype에 주목)

<form action="Ex02_upload.jsp" method="post" enctype="multipart/form-data">
file1 : <input type="file" name="filename1"><br>
file2 : <input type="file" name="filename2"><br>
         <input type="submit" value="파일 업로드">
</form>



'Web > Servlet' 카테고리의 다른 글

Servlet) Filter  (0) 2018.04.04
Servlet) "?cmd=~" vs @WebServlet("*.do")  (0) 2018.04.03
Servlet) 커넥션 풀(DBCP)  (0) 2018.03.29
Servlet) 예제(단순 알림 or 객체 전달)  (0) 2018.03.29
Servlet) out.print()에 대한 이해  (0) 2018.03.29
Comments