Loading...
Spring Framework Reference Documentation 7.0.2의 Multipart Resolver의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
See equivalent in the Reactive stack
org.springframework.web.multipart package의 MultipartResolver는 file upload를 포함한 multipart 요청을 파싱하기 위한 strategy입니다. Servlet multipart 요청 파싱을 위한 컨테이너 기반 StandardServletMultipartResolver implementation이 있습니다.
multipart handling을 활성화하려면, 이름이 multipartResolver인 MultipartResolver 빈을 DispatcherServlet Spring 설정에 선언해야 합니다.
DispatcherServlet은 이를 감지하고 들어오는 요청에 적용합니다. content type이 multipart/form-data인 POST가 수신되면, resolver는 content를 파싱하고 현재 HttpServletRequest를 MultipartHttpServletRequest로 wrapping하여, part를 요청 파라미터로 노출하는 것 외에도 resolved file에 대한 access를 제공합니다.
Servlet multipart 파싱은 Servlet 컨테이너 설정을 통해 활성화되어야 합니다. 이를 위해서는:
MultipartConfigElement를 설정합니다.web.xml에서 servlet 선언에 "<multipart-config>" section을 추가합니다.다음 예시는 Servlet registration에 MultipartConfigElement를 설정하는 방법을 보여줍니다:
1public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 2 3 // ... 4 5 @Override 6 protected void customizeRegistration(ServletRegistration.Dynamic registration) { 7 8 // Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold 9 registration.setMultipartConfig(new MultipartConfigElement("/tmp")); 10 } 11 12}
1class AppInitializer : AbstractAnnotationConfigDispatcherServletInitializer() { 2 3 // ... 4 5 override fun customizeRegistration(registration: ServletRegistration.Dynamic) { 6 7 // Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold 8 registration.setMultipartConfig(MultipartConfigElement("/tmp")) 9 } 10 11}
Servlet multipart 설정이 설정되면, 이름이 multipartResolver인
StandardServletMultipartResolver type의 빈을 추가할 수 있습니다.
This resolver variant uses your Servlet 컨테이너의 multipart 파서를 있는 그대로 사용하여, 애플리케이션을 컨테이너 implementation 차이에 노출시킬 수 있습니다. 기본적으로, 이는 HTTP method와 관계없이 모든
multipart/content type을 파싱하려고 하지만 이는 모든 Servlet 컨테이너에서 지원되지 않을 수 있습니다. 자세한 내용과 설정 옵션은StandardServletMultipartResolverjavadoc을 참고하십시오.
Locale
Logging