JSP
[JAVA] 7. JSP 파일 업로드
leui
2022. 4. 25. 06:26
파일 업로드는 웹 브라우저에서 서버로 파일을 전송하여 서버에 저장하는 것이다. 웹 브라우저에서 서버로 파일을 전송하기 위해 JSP 페이지에 폼태그를 사용하고 전송된 파일을 서버에 저장하기 위해 오픈 라이브러리를 이용해야 한다.
- 파일 업로드를 위한 JSP 페이지
웹 브라우저에서 서버로 파일을 전송하기 위해 JSP 페이지에 폼 태그를 작성할 때 몇가지 규칙이 있다.
<form action="JSP 파일" method="POST" enctype="multipart/form-data">
<input type="file" name="요청 파라미터 이름">
</form>
<%-- 파일 업로드를 위한 form 태그 사용 예 --%>
...(생략)...
<body>
<form method="post" enctype="multipart/form-data" action="process.jsp">
<p> 제목: <input type="text" name="title">
<p> 파일: <input type="file" name="fileName">
<p> <input type="submit" value="submit">
</form>
</body>
...(생략)...
- 파일 업로드 처리 방법
웹 브라우저에서 서버로 파일을 업로드하면 서버는 요청 파라미터를 분석하여 파일을 찾고 서버의 자원에 저장하는 과정을 거치는데 이러한 파일 업로드의 처리는 단순한 자바 코드로 작성하여 처리할 수 없다.
따라서 오픈 라이브러리인 cos.jar나 commons-fileupload.jar를 사용해야 한다.

- MultipartRequest
MultipartRequest는 웹 페이지에서 서버로 업로드되는 파일 자체만 다루는 클래스이다. 이 클래스를 이용하여 파일을 업로드 하려면 먼저 MultipartRequest 객체를 생성하고 생성된 객체를 통해 MultipartRequest 클래스가 제공하는 메소드를 사용하여 웹 브라우저가 전송한 multipart/form-data 유형의 요청 파라미터를 읽어오고 파일을 업로드한다.
MultipartRequest(javax.servlet.http.HttpServletRequest request,
java.lang.string saveDirectory,
int maxPostSize,
java.lang.String encoding,
FileRenamePolicy policy)

ㄴ MultipartRequest 메소드
일반 데이터는 getParameter() 메소드로 값을 받고 파일의 경우 getFileNames() 메소드를 이용하여 데이터를 받는다.
