eGovFrame 표준프레임워크 포털

메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

MultipartHttpServletRequest 로 파일업로드 구현하려고 하는데 에러가 발생합니다.
  • 작성자

    최*찬

  • 작성일

    2015-09-30 17:09:09

  • 조회수

    22,619

  • 구분

    기타

  • 진행상태

    완료

질문

등록 버튼을 누르면 컨트롤러로 가기전에 exception이 발생합니다.

DEBUG [egovframework.rte.psl.orm.ibatis.SqlMapClientTemplate] Obtained JDBC Connection [Transaction-aware proxy for target Connection from DataSource [org.apache.commons.dbcp.BasicDataSource@6644621c]] for iBATIS operation
java.lang.IllegalStateException: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]: org.apache.catalina.connector.RequestFacade@550c2878

가이드대로 컨트롤러에

@RequestMapping(value="/test.do")
public String testManageRegist(
final MultipartHttpServletRequest multiRequest,
@ModelAttribute("searchVO") ComDefaultVO searchVO,
@RequestParam Map<?, ?> commandMap,
@ModelAttribute("testManageVO") TestManageVO testManageVO,
@ModelAttribute("testTestManageVO") TestTestManageVO testTestManageVO,
BindingResult bindingResult,
ModelMap model)

이렇게 선언하였고 JSP 에 form에 method="post"

enctype="multipart/form-data" 지정하였습니다.

context-common.xml
context-properties.xml
web.xml (HTMLTagFilter 삭제)

검색은 며칠동안 충분히 많이 해보고 글 올립니다. 어딜 더 확인해 봐야할까요?

자바는 1.7 이클립스 3.5.0 beta 64bit 사용 중입니다.

답변

안녕하세요. 표준프레임워크센터입니다.

일반적으로 체크 하는 부분은 3가지로
1. spring 설정에서 multipartResolver가 bean으로 주입이 되었는지,
ex)<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

2. form에서 enctype이 multipart/form-data 으로 되었는지,
ex)<form id="fileupload" method="post" enctype="multipart/form-data">

3. Controller에서 Request 를 MultipartHttpServletRequest 로 받고 있는지 확인합니다.

올려주신 내용만으로는 해당오류의 원인을 파악하기 힘드나, 보통 form 태그에 enctype="multipart/form-data" 지정되지 않은 경우이거나, form tag가 여러 개 있는지, post로 호출하는 부분들을 재 점검해보시기 바랍니다.

아니면 함수의 파라미터로 MultipartHttpServetRequest를 넣지 않고 HttpServletRequest 객체로 받아 함수 안에서 캐스팅을 하는 형태로
처리해 보시기 바랍니다.

해당 내용은 아래의 외부링크를 참조해 보시기 바랍니다.
http://springsource.tistory.com/9
http://raonit.tistory.com/41

감사합니다.

이 페이지의 구성

묻고 답하기