Tôi đang sử dụng phương pháp Java tất cả để cấu hình Spring MVC và không thể tìm ra cách liên kết MultipartConfigElement
với DispatcherServlet
theo chương trình của tôi.Cấu hình Java 4 mùa xuân cho MultipartResolver cho Servlet 3.0
tài liệu Xuân khẳng định:
Để sử dụng Servlet 3.0 dựa phân tích nhiều phần dữ liệu, bạn cần phải đánh dấu các DispatcherServlet với một phần "multipart-config" trong web.xml, hoặc với một javax .servlet.MultipartConfigElement trong chương trình đăng ký Servlet ...
http://docs.spring.io/spring/docs/4.0.4.RELEASE/spring-framework-reference/htmlsingle/#mvc-multipart
Đây là mã WebApplicationInitializer
tôi:
public class DispatcherServletInitializer implements WebApplicationInitializer {
private static final Logger logger = LoggerFactory.getLogger(DispatcherServletInitializer.class);
@Override
public void onStartup(ServletContext container) {
// Create the 'root' Spring application context
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(AppConfig.class);
// Manage the lifecycle of the root application context
container.addListener(new ContextLoaderListener(rootContext));
// Create the dispatcher servlet's Spring application context
AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
dispatcherContext.register(WebConfig.class);
//HOW CAN I ASSOCIATE THIS CONFIG WITH MY DISPATCHER SERVLET?
MultipartConfigElement config = new MultipartConfigElement("C:\\Temp", 20848820, 418018841, 1048576);
DispatcherServlet dispatcherServlet = new DispatcherServlet(dispatcherContext);
// Register and map the dispatcher servlet
ServletRegistration.Dynamic dispatcher =
container.addServlet("dispatcher", dispatcherServlet);
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/*");
}
}
Làm thế nào để kết hợp với MultipartConfigElement
DispatcherServlet
của tôi? Tôi không thấy bất kỳ phương thức nào như setMultipartConfiguration hoặc bất kỳ hàm tạo nào chấp nhận nó.
Cũng lưu ý rằng webconfig của tôi tuyên bố một MultipartResolver
:
@Bean
public StandardServletMultipartResolver multipartResolver(){
return new StandardServletMultipartResolver();
}
Nhưng tài liệu Xuân trạng thái:
Configuration settings such as maximum sizes or storage locations need to be applied at that Servlet registration level as Servlet 3.0 does not allow for those settings to be done from the MultipartResolver.
Bất kỳ hướng dẫn sẽ được đánh giá rất nhiều.
đóng đinh nó! Cảm ơn Artem! –