栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring MVC:即使存在必需的参数,文件上载的错误请求(参数缺失)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC:即使存在必需的参数,文件上载的错误请求(参数缺失)

我能够弄清楚这一点。要启用对多部分文件的支持,您必须以某种方式进行配置。令人沮丧的文档很难找到,Spring的文档对此似乎并不完整,或者仅与基于XML的配置有关。我不确定是否只是在错误的地方找东西,但是即使使用Google,我也找不到一个单独的地方来说明如何设置。无论如何,这里去。

您首先必须在您的Web配置中包括一个bean。我只是将以下内容添加到我的配置类中(扩展了

WebMvcConfigurerAdapter
):

@Beanpublic MultipartResolver multipartResolver() {    return new StandardServletMultipartResolver();}

但这还不够。如果您正在使用Servlet 3.0,并且还使用基于Java的配置,则必须配置调度程序Servlet以支持多部分文件:

我在初始化器中添加了以下类(扩展了

WebApplicationInitializer
):

dispatcher.setMultipartConfig(        new MultipartConfigElement("/tmp", 25 * 1024 * 1024, 125 * 1024 * 1024, 1 * 1024 * 1024));

整个方法最终看起来像这样:

@Overridepublic void onStartup(ServletContext servletContext) {    AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();    rootContext.register(ApplicationConfig.class, WebConfig.class);    servletContext.addListener(new ContextLoaderListener(rootContext));    //Spring security    servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain")).addMappingForUrlPatterns(null, false, "/*");    //Enable multipart support    ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(rootContext));    dispatcher.setLoadonStartup(1);    dispatcher.addMapping("/");    dispatcher.setMultipartConfig( new MultipartConfigElement("/tmp", 25 * 1024 * 1024, 125 * 1024 * 1024, 1 * 1024 * 1024)    );}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435574.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号