2016-03-06 155 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