Shinnara's Blog
Talking with Shinnara :: NaraTalk.com

'filter'에 해당되는 글 1건

  1. 2007/09/11 File Upload 구현하기

예전에, 아주 먼 옛날에  JSP 로 작업하면서 파일 업로드 때문에 고생했던 기억이 있습니다. 하지만 이제는 너무 너무 쉽더군요.

해결 방법은 Filter 를 이용하는 것입니다. 해당 코드는 아래에서 확인하실 수 있습니다.

http://jetty.mortbay.org/xref/org/mortbay/servlet/MultiPartFilter.html

전에 위의 코드에서 일부분을 추려서 Standalone 서버에서 돌린 적이 있었는데 이번에는 이것을 Tomcat 에 붙여보았습니다. 그러기 위해서는 몇개의 관련 파일들을 함께 가져와야 합니다.

컴파일을 하고, web.xml 에 해당 Filter 를 등록해주면 준비는 모두 끝납니다.

저의 web.xml 화일의 일부입니다.


  <filter>
        <filter-name>MultiPartUploadFilter</filter-name>
        <filter-class>org.mortbay.servlet.MultiPartFilter</filter-class>
  </filter>
  <filter-mapping>
        <filter-name>MultiPartUploadFilter</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>


너무 당연하다시피 필터를 정의하고, url 을 매핑해주는 것입니다.

소스코드를 확인해보시면 아시겠지만, 컨텐트 타입이 "multipart/form-data" 로 시작하는 경우 해당 필터가 작동하도록 되는 것입니다.

필터가 제대로 동작하게 되면, 서블릿쪽에서의 작업이 매우 간편해집니다.

위의 필터는 파일을 전송받아 임시 디렉토리에 저장한 뒤, 파일에 대한 내용을 request 의 attribute 로 설정하게 됩니다.  이때 attribute 의 이름은 input 태그의 name 이 됩니다.

만약 <input type="file" name="uploadfile1"> 으로 Form 을 사용한 경우,

request.getAttribute("uploadfile1") 을 통해 해당 파일의 정보를 알 수 있습니다.

또한 원래 파일의 이름은

request.getParameter("uploadfile1") 으로 구하실 수 있습니다.

너무 간단하지 않나요? ^^






0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/132 관련글 쓰기

댓글을 달아 주세요

1 
다...... (264)
Computer/Programming (106)
Links (14)
책 읽는 즐거움 (7)
끄적임 (66)
즐거운 과학 나라 (7)
일본 (5)
Study (4)