★ 용어 정리
- request.getRealPath() : 웹 경로를 실제 서버의 디렉토리 경로로 지정해준다
(파일이 다운로드될 공간).
* MultipartRequest 클래스 -> 인자 5개
- 예 : new MultipartRequest(request,uploadPath,maxSize,"utf-8",new DefaultFileRenamePolicy());
1. request :
2. uploadPath : 업로드 될 파일의 위치를 의미
3. maxSize : 한번에 업로드 할 크기
4. "utf-8" : 한글도 문제없이 처리하게끔 처리
5. new DefaultFileRenamePolicy() : 똑같은 파일을 업로드 할 경우 자동으로 파일 이름을 변환해주
는 기능
* 메서드
getParameter : Request 객체에 있는 해당 파라미터의 값을 가져옴
getOriginalFileName : 클라이언트가 업로드 한 파일의 이름
getFilesystemName : 서버에 실제로 업로드 된 파일 이름
getContentType : 파일 타입을 알려줌
☆ 실습(1) : 파일 업로드하기
- 2개의 파일 필요 : "uploadForm.jsp", "uploadPro.jsp"
(1) "uploadForm.jsp"
<form action="uploadPro.jsp" method="post" enctype="multipart/form-data">
올린사람: <input type="text" name="name"><br>
제목: <input type="text" name="subject"><br>
파일명: <input type="file" name="file"><br>
<input type="submit" value="전송">
</form>
(2) "uploadPro.jsp"
String uploadPath = request.getRealPath("upload");
int maxSize = 5*1024*1024;
MultipartRequest multi = new MultipartRequest(request,uploadPath,maxSize,"utf-8",new DefaultFileRenamePolicy());
%>
올린사람: <%=multi.getParameter("name") %><br>
제목: <%=multi.getParameter("subject") %><br>
파일경로: <%=uploadPath %><br>
원파일이름: <%=multi.getOriginalFileName("file") %><br>
시스템에 올린 파일이름: <%=multi.getFilesystemName("file") %><br>
파일타입: <%=multi.getContentType("file") %><br>
<a href="../upload/<%=multi.getFilesystemName("file") %>">올린파일하이퍼링크</a>
결과
하이퍼링크를 눌렀을 때
☆ 실습(2) : 파일 업로드 실습
- 파일 2개 필요 : "uploadForm2.jsp", "uploadPro2.jsp"
(1) "uploadForm.jsp"
<h1>파일 업로드 ^___^</h1>
<form action="uploadPro2.jsp" method="post" enctype="multipart/form-data">
올린사람: <input type="text" name="name"><br>
제목: <input type="text" name="subject"><br>
파일명1: <input type="file" name="file1"><br>
파일명2: <input type="file" name="file2"><br>
<input type="submit" value="전송">
</form>
(2) "uploadPro.jsp"
<%
String uploadPath = request.getRealPath("upload");
int size = 10*1024*1024;
MultipartRequest multi = new MultipartRequest(request,uploadPath,size,"utf-8",new DefaultFileRenamePolicy());
%>
올린사람: <%=multi.getParameter("name") %><br>
제목: <%=multi.getParameter("subject") %><br>
파일명1: <a href="../upload/<%=multi.getFilesystemName("file1") %>">파일명1: <%=multi.getFilesystemName("file1") %></a><br>
파일명2: <a href="../upload/<%=multi.getFilesystemName("file2") %>">파일명2: <%=multi.getFilesystemName("file2") %></a>
결과
'N스크린하이브리드앱과정 > JSP:Model-1' 카테고리의 다른 글
[5주][2일][5~8th] JSP: 회원수정, 회원삭제, 로그인 폼 구현하기 (0) | 2013.08.13 |
---|---|
[5주][1일][5~8th] mysql 실습(이어서), mysql을 java(이클립스)와 연동하기 (0) | 2013.08.12 |
[4주][4일][5~8th] JSP: 세션과 쿠키. session and cookie. (0) | 2013.08.08 |
[4주][3일][5~8th] JSP: 액션태그로 폼만들기, 세션값 넣고 지우기. (0) | 2013.08.07 |
[4주][2일][5~8th] JSP: 내장객체, 액션태그의 활용 (0) | 2013.08.06 |