2016-06-14 105 views
1

我一直在面對下面給出的這個問題。Multipart異常 - Spring Boot中的maxPostSize錯誤

HTTP狀態500 - 請求處理失敗;嵌套異常是 org.springframework.web.multipart.MultipartException:無法解析 multipart servlet請求;嵌套的異常是 java.lang.IllegalStateException:多部分請求中包含的超過 maxPostSize相關聯的連接器

我已通過的類似其他線程去上設置的限制 參數數據(不包括上載的文件)問題,我也在我的應用程序配置文件中實現了下面的內容。

@Bean 
EmbeddedServletContainerCustomizer containerCustomizer() throws Exception { 
    return (ConfigurableEmbeddedServletContainer container) -> { 
     if (container instanceof TomcatEmbeddedServletContainerFactory) { 
      TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; 
      tomcat.addConnectorCustomizers(
        (connector) -> { 
         connector.setMaxPostSize(500000000); 
         connector.setSecure(true); 
         connector.setScheme("https"); 
         connector.setRedirectPort(443); 
        } 
      ); 
     } 
    }; 
} 

當我在本地機器上運行時,它使用嵌入式Tomcat時工作得很好。

但真正的問題是,當我將我的應用程序託管到AWS Elastic Beanstalk上時,出現上述錯誤。

我正在使用自動附帶Elastic beanstalk Tomcat環境的Amazon EC2實例。

所以我的猜測是上述配置不適用於AWS,因爲它不是嵌入式Tomcat?

請指導我在哪裏出錯,以及如何解決此問題。

+0

我可以證實這種情況亞馬遜使用外,和春季啓動配置不配置正確傳播到Tomcat。 – Kieveli

回答

-1

嘗試在application.properties這些設置:

multipart.maxFileSize: 500MB 
multipart.maxRequestSize: 500MB 

參考:https://spring.io/guides/gs/uploading-files/

+0

我已經嘗試過這個,沒有運氣:( –

+0

也許亞馬遜在他們的Beanstalk Tomcat實例上有一些限制性的配置,也許如果你運行你自己的tomcat實例,你可以改變連接器設置 –

+0

你是對的雨果我們需要編輯pre-但我不能解決這個問題 –

相關問題