실버라이트에서 자바기반 웹 서버에 파일을 보낼 일이 있어서 JSP로 multipart/form-data 방식의 업로드를 구현해 보았습니다.
multipart/form-data 방식은 모든 플랫폼에서 지원하기 때문에 저처럼 불가능한 미션도 가능하게 구현해야 하는
프리랜서 개발자는 참 좋은 방식의 파일 업로드 프로세스 입니다.
COS 공식 사이트
http://www.servlets.cm/cos/index.html
사이트에서 다운받은 JAR 파일을 \WebContent\WEB-INF\lib 경로에 둡니다.
COS.JAR 파일의 내부의 Class 입니다.
많은 기능이 있네요. 전 하나만 필요 하지만요 ^^
multipart/form-data 기본인 form을 통해 파일을 POST 방식으로 전달 하는 페이지 입니다.
실버라이트에서 POST방식으로 전달하는 내용은 C# 카테고리에 올려 두도록 하겠습니다.
업로드 페이지
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>파일 업로드</title>
</head>
<body>
<form method="post" action ="업로드 프로세스 페이지" enctype="multipart/form-data">
<table border = "1">
<tr>
<td><input type="file" name="fileupload" size="30"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="업로드"></td>
</tr>
</table>
</form>
</body>
</html>
Post 방식으로 httpServletRequest가 잘 넘어 왔다면 아래의 참조 받은 라이브러리 함수 MultipartRequest가
알아서 다 해줍니다. ^^;; 간단하죠.
MultipartRequest mul = new MultipartRequest(request, realPath, maxSize,"UTF-8");
업로드 프로세스 페이지
<%@page import="java.io.File"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
String realPath="c:\\file";
int maxSize=1024*1024*10 ;
File f = new File(realPath);
if(!f.isFile()){
if(!f.isDirectory()){
f.mkdir();
}
}
MultipartRequest mul = new MultipartRequest(request, realPath, maxSize, "UTF-8");
f = mul.getFile("fileupload");
%>
</body>
</html>
'개발 공부 > JAVA' 카테고리의 다른 글
JSP 파일 생성, 삭제 (0) | 2013.05.14 |
---|