WebContent > 폴더 fileupload > fileSelect.jsp
<!-- fileSelect.jsp -->
<%@page contentType="text/html; charset=EUC-KR" %>
<!-- enctype 속성: form을 전송할때 사용할 인코딩 방법 지정-->
<!-- file 을 넘기기위해서는 method 가 반드시 POST -->
<!-- enctype="multipart/form-data" 도 필수 - 패턴 -->
<form method="post" action="viewPage.jsp" enctype="multipart/form-data">
user : <input name="user" value="홍길동"><br/>
title : <input name="title" value="파일업로드"><br/>
file : <input type="file" name="uploadFile"><br/>
<input type="submit" value="UPLOAD">
</form>
WebContent > 폴더 fileupload > viewPage.jsp
<%@page import="java.io.File"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page contentType="text/html; charset=EUC-KR"%>
<%
// 파일이 서버에 업로드 되는 시점 : MultipartRequest 객체 생성 시점
request.setCharacterEncoding("EUC-KR");
final String saveFolder = "C:/JSP/myapp/WebContent/fileupload/filestorage";
final String encoding = "EUC-KR";
final int maxSize = 10*1024*1024; // 10MB
try{
MultipartRequest multi = new MultipartRequest(request, saveFolder,
maxSize, encoding, new DefaultFileRenamePolicy());
// DefaultFileRenamePolicy 중복된 파일처리 해주는 메소드
//out.print("성공");
// fileSelet.jsp 의 file : <input type="file" name="uploadFile"><br/> 와 맞춰줘야한다.
String fileName = multi.getFilesystemName("uploadFile");
String original = multi.getOriginalFileName("uploadFile");
String type = multi.getContentType("uploadFile");
File f = multi.getFile("uploadFile");
int len = 0;
if(f!=null)
{
len = (int)f.length();
}
String user = multi.getParameter("user");
String title = multi.getParameter("title");
%>
저장된파일: <%=fileName%> <br/>
실제파일: <%=original%> <br/>
파일타입: <%=type%> <br/>
파일크기: <%=len%> <br/>
user: <%=user%> <br/>
title: <%=title%> <br/>
<a href="fileSelect.jsp">파일선택</a>
<%
} catch ( Exception e ) {
e.printStackTrace();
}
%>
WebContent > 폴더 filestorage 내에 파일이 업로드 된다.
실행화면
'Java > JSP' 카테고리의 다른 글
190725_JSP 환경설정_JSTL#1 (0) | 2019.07.25 |
---|---|
클래스 다이어그램 설치하기 Eclipse#1 (0) | 2019.07.22 |
Server.xml workDir 설정 (0) | 2019.07.16 |
JSP - #Web상에 작업목록 확인하는 방법 (0) | 2019.07.16 |
SMS 발송서비스 만들기(feat. 네이버클라우드 SENS 이용) #2 (0) | 2019.07.07 |