FileUploadBase $ SizeLimitExceededException apache tomcat

时间:2014-09-10 20:57:45

标签: tomcat tomcat7

我试图从JSP文件上传文件,我在catalina.out中收到以下错误。正如许多博客中所指出的,我在webapps / manager / WEB-INF / web.xml下增加了max-file-size,但我仍有同样的问题......我应该在哪里增加它来解决这个错误?

<multipart-config>
      <!-- 50MB max -->
      <max-file-size>5242880000000</max-file-size>
      <max-request-size>5242880000000</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (341297) exceeds the configured maximum (51200)

4 个答案:

答案 0 :(得分:16)

我遇到了同样的问题。我通过在maxPostSize中的http服务器tomcat连接器中设置参数<tomcat-root-folder>/conf/server.xml来解决它,如下所示:

<Connector connectionTimeout="20000" 
           port="8080" 
           protocol="HTTP/1.1" 
           redirectPort="8443" 
           maxPostSize="52428800" />

maxPostSize设置为52428800,将上传文件大小增加到50 MB。默认情况下,它设置为2 MB

有关详细说明,请阅读:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

答案 1 :(得分:5)

这里有一个配置的例子。

http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/webapps/manager/WEB-INF/web.xml

管理器应用程序使用Servlet 3.0 API。如果您直接使用公共文件上传,则由您决定,您需要手动配置。

答案 2 :(得分:3)

https://maxrohde.com/2011/04/27/large-war-file-cannot-be-deployed-in-tomcat-7/

转到管理器应用程序的web.xml(例如,它可以位于/tomcat7/webapps/manager/WEB-INF/web.xml下。 增加max-file-size和max-request-size:

<!doctype html>
<html lang="en">
    <body ng-app="practice" >
        <h1>Angular Practice</h1>
        <app></app>
        <script src="/bundle.js"></script>
    </body>
</html>      

答案 3 :(得分:0)

你可以像下面这样在 Servlet 中使用

    @WebServlet(name = "RemittanceDocApi", urlPatterns = {"/RemittanceDocApi"})
    @MultipartConfig(fileSizeThreshold = 1024 * 1024 * 2, // 2MB
    maxFileSize = 1024 * 1024 * 10, // 10MB
    maxRequestSize = 1024 * 1024 * 50)   // 50MB
    public class RemittanceDocApi extends HttpServlet {

    }