Programming Language/Java
[Java] 자바 multipart/form-data 파일업로드 오류
HoZang
2019. 5. 30. 10:18
자바 multipart/form-data 파일업로드 오류
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 객체를 파라미터로 사용하는 컨트롤러를 복사해서 사용하다가 필요하지 않는데 그대로 딸려오는 경우가 있다.
필요없다면 삭제해주자.