2016-03-06 260 views
1

我想实现Java Spring Restful Webservice来上传和处理CSV文件,然后将记录插入到数据库中。Spring Restful Webservice上传CSV

由于我不是这方面的专家,我尝试了几个代码来构建Web服务及其客户端。但他们都失败了。

我目前使用的最后一个代码是:

Web服务类:

@RequestMapping(value = "/rest/file/upload", method = RequestMethod.POST) 
public @ResponseBody 
String uploadFileHandler(@RequestParam("name") String name, 
     @RequestParam("file") MultipartFile file) { 

    if (!file.isEmpty()) { 
     try { 
      byte[] bytes = file.getBytes(); 

      // Creating the directory to store file 
      String rootPath = System.getProperty("catalina.home"); 
      File dir = new File(rootPath + File.separator + "tmpFiles"); 
      if (!dir.exists()) 
       dir.mkdirs(); 

      // Create the file on server 
      File serverFile = new File(dir.getAbsolutePath() 
        + File.separator + name); 
      BufferedOutputStream stream = new BufferedOutputStream(
        new FileOutputStream(serverFile)); 
      stream.write(bytes); 
      stream.close(); 

      logger.info("Server File Location=" 
        + serverFile.getAbsolutePath()); 

      return "You successfully uploaded file=" + name; 
     } catch (Exception e) { 
      return "You failed to upload " + name + " => " + e.getMessage(); 
     } 
    } else { 
     return "You failed to upload " + name 
       + " because the file was empty."; 
    } 
} 

而且客户端:

@Bean 
public static void main(String[] args) throws Exception { 
    Client fileUpload = new Client() ; 
     File file = new File("D:/hibernate.xml") ; 
     //Upload the file 
     fileUpload.executeMultiPartRequest("http://localhost:8080/SpringServiceMongoDB/rest/file/upload", 
       file, file.getName(), "File Uploaded :: Tulips.jpg") ; 
    } 


public void executeMultiPartRequest(String urlString, File file, String fileName, String fileDescription) throws Exception 
    { 
     HttpClient client = new DefaultHttpClient() ; 
     HttpPost postRequest = new HttpPost (urlString) ; 
     try 
     { 
      //Set various attributes 
      MultipartEntity multiPartEntity = new MultipartEntity() ; 
      multiPartEntity.addPart("fileDescription", new StringBody(fileDescription != null ? fileDescription : "")) ; 
      multiPartEntity.addPart("fileName", new StringBody(fileName != null ? fileName : file.getName())) ; 

      FileBody fileBody = new FileBody(file, "application/octect-stream") ; 
      //Prepare payload 
      multiPartEntity.addPart("attachment", fileBody) ; 

      //Set to request body 
      postRequest.setEntity(multiPartEntity) ; 

      //Send request 
      HttpResponse response = client.execute(postRequest) ; 

      //Verify response if any 
      if (response != null) 
      { 
       System.out.println(response.getStatusLine().getStatusCode()); 
      } 
     } 
     catch (Exception ex) 
     { 
      ex.printStackTrace() ; 
     } 
    } 

但我总是收到格式不正确或内部服务器错误。

我试图用邮递员,但我也得到了以下错误:

<html> 
 
    <head> 
 
     <title>Apache Tomcat/7.0.47 - Error report</title> 
 
     <style> 
 
      <!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--> 
 
     </style> 
 
    </head> 
 
    <body> 
 
     <h1>HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?</h1> 
 
     <HR size="1" noshade="noshade"> 
 
     <p> 
 
      <b>type</b> Exception report 
 
     </p> 
 
     <p> 
 
      <b>message</b> 
 
      <u>Request processing failed; nested exception is java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured?</u> 
 
     </p> 
 
     <p> 
 
      <b>description</b> 
 
      <u>The server encountered an internal error that prevented it from fulfilling this request.</u> 
 
     </p> 
 
     <p> 
 
      <b>exception</b> 
 
      <pre>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured? 
 
\t org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:981) 
 
\t org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871) 
 
\t javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
 
\t org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845) 
 
\t javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
 
\t org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
 
</pre> 
 
     </p> 
 
     <p> 
 
      <b>root cause</b> 
 
      <pre>java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured? 
 
\t org.springframework.util.Assert.notNull(Assert.java:115) 
 
\t org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:168) 
 
\t org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:90) 
 
\t org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:78) 
 
\t org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162) 
 
\t org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129) 
 
\t org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
 
\t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814) 
 
\t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737) 
 
\t org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
 
\t org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
 
\t org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
 
\t org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969) 
 
\t org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871) 
 
\t javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
 
\t org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845) 
 
\t javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
 
\t org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
 
</pre> 
 
     </p> 
 
     <p> 
 
      <b>note</b> 
 
      <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.</u> 
 
     </p> 
 
     <HR size="1" noshade="noshade"> 
 
     <h3>Apache Tomcat/7.0.47</h3> 
 
    </body> 
 
</html>

该servlet-context.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
 
<beans:beans xmlns="http://www.springframework.org/schema/mvc" 
 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" 
 
    xmlns:context="http://www.springframework.org/schema/context" 
 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 
 
    
 
    <!-- DispatcherServlet Context: defines this servlet's request-processing 
 
     infrastructure --> 
 
    
 
    <!-- Enables the Spring MVC @Controller programming model --> 
 
    <annotation-driven /> 
 
    
 
    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
 
     up static resources in the ${webappRoot}/resources directory --> 
 
    <resources mapping="/**" location="/" /> 
 
    
 
    <!-- Resolves views selected for rendering by @Controllers to .jsp resources 
 
     in the /WEB-INF/views directory --> 
 
    <beans:bean 
 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
 
     <beans:property name="prefix" value="/WEB-INF/views/" /> 
 
     <beans:property name="suffix" value=".jsp" /> 
 
    </beans:bean> 
 
    
 
    
 
    
 
    <context:component-scan base-package="com.journaldev.spring.controller" /> 
 
    
 
</beans:beans>

enter image description here

,这里是我所得到的,如果我尝试运行它

type Exception report 
 

 
message Servlet.init() for servlet appServlet threw exception 
 

 
description The server encountered an internal error that prevented it from fulfilling this request. 
 

 
exception 
 

 
javax.servlet.ServletException: Servlet.init() for servlet appServlet threw exception 
 
\t org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
 
\t org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
 
\t org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
 
\t org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 
 
\t org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
 
\t org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
 
\t org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
 
\t java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 
\t java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 
\t org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
 
\t java.lang.Thread.run(Unknown Source) 
 

 

 
root cause 
 

 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
 
\t org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
 
\t org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
 
\t org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
 
\t org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
 
\t org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
 
\t org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
 
\t org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
 
\t org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
 
\t javax.servlet.GenericServlet.init(GenericServlet.java:158) 
 
\t org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
 
\t org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
 
\t org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
 
\t org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 
 
\t org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
 
\t org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
 
\t org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
 
\t java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 
\t java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 
\t org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
 
\t java.lang.Thread.run(Unknown Source) 
 

 

 
root cause 
 

 
org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 
 
\t org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) 
 
\t org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
 
\t org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
 
\t org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
 
\t org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
 
\t org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
 
\t org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
 
\t org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
 
\t org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
 
\t org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
 
\t javax.servlet.GenericServlet.init(GenericServlet.java:158) 
 
\t org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
 
\t org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
 
\t org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
 
\t org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 
 
\t org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
 
\t org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
 
\t org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
 
\t java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 
\t java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 
\t org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
 
\t java.lang.Thread.run(Unknown Source) 
 

 

 
root cause 
 

 
java.lang.NoClassDefFoundError: Could not initialize class org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 
 
\t org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.<init>(AllEncompassingFormHttpMessageConverter.java:61) 
 
\t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.<init>(RequestMappingHandlerAdapter.java:187) 
 
\t sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
 
\t sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
 
\t sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
 
\t java.lang.reflect.Constructor.newInstance(Unknown Source) 
 
\t org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) 
 
\t org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) 
 
\t org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
 
\t org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
 
\t org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
 
\t org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
 
\t org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
 
\t org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
 
\t org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) 
 
\t org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) 
 
\t org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) 
 
\t org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) 
 
\t org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) 
 
\t javax.servlet.GenericServlet.init(GenericServlet.java:158) 
 
\t org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) 
 
\t org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
 
\t org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) 
 
\t org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) 
 
\t org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
 
\t org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
 
\t org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 
 
\t java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
 
\t java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
 
\t org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
 
\t java.lang.Thread.run(Unknown Source)

而且,这些代码片段似乎被弃用,我找不到任何新的源代码或样本详细说明这部分。

任何帮助?

+0

你可以尝试使用邮递员客户端执行'REST'调用吗?另外,你能分享异常的堆栈跟踪吗? –

+0

我已经编辑我的职务与邮差响应.. – Kareem

回答

0

从堆栈跟踪看来,您还没有定义MultipartResolver。你可以尝试在你的一个组件类中添加以下两个bean定义吗?

@Bean 
public MultipartConfigElement multipartConfigElement() { 
    MultipartConfigFactory factory = new MultipartConfigFactory(); 
    factory.setMaxFileSize("500MB"); 
    factory.setMaxRequestSize("500MB"); 
    return factory.createMultipartConfig(); 
} 


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

请注意,MaxFileSizeMaxRequestSize将视配置而改变。

+0

我加入这个标签servlet的contxt.xml <豆类:豆类ID =“multipartResolver” 类=“org.springframework.web.multipart.commons.CommonsMultipartResolver” > < - 设定最大上传大小 - > <豆:属性名= “maxUploadSize” 值= “100000”/> 现在加入您的建议的方法后,我得到 类型的javax。 servlet.MultipartConfigElement无法解析。它是从必要的间接引用的。class files 非常感谢您的支持 – Kareem

+0

您可否请更新有问题的新异常的xml文件和堆栈跟踪?谢谢 –

+0

我已经添加了你要求的日志 – Kareem

相关问题