我试图从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)
答案 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 {
}