스프링 3 이상 Multipart Config 설정

2024. 7. 30. 04:08Spring

포스트맨에서는 파일 업로드가 잘 되는데, 클라이언트 측에서 access-control-allow-credentials 이 뜬다고 해서

MultipartFile 에 대한 설정을 따로 해줘야 하나 검색했다.

 

스프링 3 이상부터는 Multipart 처리를 위해 별도의 config 파일을 만들어줘야했던 것 !

 

import jakarta.servlet.MultipartConfigElement;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;

@Configuration
public class MultipartConfig {

    @Bean
    public MultipartResolver multipartResolver() {
        return new StandardServletMultipartResolver();
    }

    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setMaxRequestSize(DataSize.ofMegabytes(100L));
        factory.setMaxFileSize(DataSize.ofMegabytes(100L));

        return factory.createMultipartConfig();
    }

}

 

제일 많이 쓰이는건 이 3가지 인 것 같다.

 

- setLocation : 파일이 저장될 디렉토리 위치 설정

- setMaxFileSize : 업로드된 파일에 허용되는 최대 크기 설정

- setMaxRequestSize : 요청에 허용되는 최대값 설정

 

나는 넉넉하게 100MB로 설정해줬다.