[Spring] multipart.MultipartException: Current request is not a multipart request
문제 상황
org.springframework.web.multipart.MultipartException: Current request is not a multipart request
파일 업로드 기능이 포함된 API를 구현 후 테스트하는 과정에서 MultipartException이 발생했다.
API 파라미터에 파일 업로드를 위해 MultipartFile를 타입으로 설정해줬다.
@PostMapping("/users/mysize/silhouette")
public ResponseEntity<?> silhouetteFromBody(@RequestParam("bodyFile") MultipartFile bodyFile,
                                            @RequestParam("type") String type) {
    ...
}
해결
파일 업로드 기능을 사용하려면 다음처럼 MultipartResolver를 bean으로 등록해줘야 한다.
다음처럼 MultipartConfig를 정의해주니 postman에서 정상적으로 동작하는걸 확인할 수 있었다!
@Configuration
public class MultipartConfig {
    private final static long MAX_UPLOAD_SIZE = 10485760;
    @Bean
    public MultipartResolver multipartResolver() {
        StandardServletMultipartResolver multipartResolver = new StandardServletMultipartResolver();
        return multipartResolver;
    }
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setMaxRequestSize(DataSize.ofBytes(MAX_UPLOAD_SIZE));
        factory.setMaxFileSize(DataSize.ofBytes(MAX_UPLOAD_SIZE));
        return factory.createMultipartConfig();
    }
}
- 업로드 최대 사이즈 : 
MAX_UPLOAD_SIZE: 10MB (=10 * 1024 * 1024) 
      
댓글남기기