파일 업로드

파일 업로드 라이브러리 설치

http://www.servlets.com/cos/ 에서 cos-26Dec2008.zip 을 다운받는다.

- /doc
- /lib
 ㄴ cos.jar
- /src

다운로드 받은후 압축을 해제하면 /lib 폴더에 cos.jar 파일이 있다.

이 파일을 현재 실행중인 프로젝트의 /WebContent/WEB-INF/lib 폴더 안에 집어넣는다.

파일 업로드하기

파일을 업로드 하면 저장이 될 폴더를 WebContent 안에 생성해준다.

<%@ 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>Insert title here</title>
</head>
<body>
    <form action="fileFormOk.jsp" method="post" enctype="multipart/form-data">
        파일 : <input type="file" name="file">
        <input type="submit" value="제출">
    </form>

</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
    //실제 파일이 저장되는 경로
    String path = request.getRealPath("fileFolder");

    int size = 1024*1024*10; //10M까지 파일 사이즈 가능
    String file = "";
    String originFile="";

    try{
        MultipartRequest mult = new MultipartRequest(request, path, size, "UTF-8", new DefaultFileRenamePolicy());

        Enumeration files = mult.getFileNames();
        String str = (String)files.nextElement();

        file = mult.getFilesystemName(str);
        originFile = mult.getOriginalFileName(str);

    }catch(Exception e){
        e.printStackTrace();
    }

%>

<!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>Insert title here</title>
</head>
<body>
<%= file %>
<%= originFile %>
file upload success!
</body>
</html>

실제로 파일이 올라가는 곳은 eclipse상 경로가 아닌 서버 내부에 올라간다.

Last updated