상세 컨텐츠

본문 제목

[Java] 자바 multipart/form-data 파일업로드 오류

Programing/Java

by 호짱 HoZang 2019. 5. 30. 10:18

본문

자바 multipart/form-data 파일업로드 오류

 

java.lang.IllegalStateException: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]

java.lang.IllegalStateException: Current request is not of type [org.springframework.web.multipart.MultipartHttpServletRequest]: SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.context.HttpSessionSecurityContextRepository$Servlet3SaveToSessionRequestWrapper@66be2686]

컨트롤러의 파라미터로 MultipartHttpServletRequest 객체를 받고있는데 submit되는 요청이 multipart/form-data 형식이 아니여서 생기는 오류다.

HTML submit인 경우 <form> 태그에 enctype="multipart/form-data" attribute를 추가해주자.

<form action="url" method="post" enctype="multipart/form-data">
.
.
.
</form>

ajax를 이용한 요청인 경우 ajax 옵션에 processData: false, contentType: false 이 두가지 속성 값을 추가해주자

$.ajax({
	type: "post",
	url: "url",
	processData: false,
	contentType: false,
    
    .
    .
    .
    
})

아니면 간혹 기존에 MultipartHttpServletRequest 객체를 파라미터로 사용하는 컨트롤러를 복사해서 사용하다가 필요하지 않는데 그대로 딸려오는 경우가 있다.

필요없다면 삭제해주자.

관련글 더보기

댓글 영역