我超越了异常。我尝试了很多来自SO的解决方案,但这些解决方案都不起作用,因为大多数都是asp.net
。
这是我的网络应用的web.xml
的一部分:
<servlet>
<servlet-name>MainPageServlet</servlet-name>
<servlet-class>servlets.MainPageServlet</servlet-class>
<multipart-config>
<!-- 10MB of files -->
<max-file-size>10485760B</max-file-size>
<!-- 10KB of form data -->
<max-request-size>10240B</max-request-size>
<!-- Buffer to disk over 512KB -->
<file-size-threshold>524288B</file-size-threshold>
</multipart-config>
</servlet>
<servlet-mapping>
<servlet-name>MainPageServlet</servlet-name>
<url-pattern>/mainPage/*</url-pattern>
</servlet-mapping>
这是我得到的错误(在http post
文件上传后的浏览器中):
[HttpException (0x80004005): Maximum request length exceeded.]
System.Web.HttpRequest.GetEntireRawContent() +9685979
System.Web.HttpRequest.get_InputStream() +41
Caucho.IIS.ResinHandler.DoHmux(HttpContext context) +138
Caucho.IIS.ResinHandler.ProcessRequest(HttpContext context) +334
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +341
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69
该文件包含5,2Mb
。
知道我应该在哪里设置最大文件大小?正如您在web.xml中设置它时,您可能会发现它不起作用。
我正在使用resin
java服务器。
当我在大小值java IDE抱怨之后添加'B'作为Bytes
时。但是,如果不存在,我收到此错误:
500 Servlet exception
WEB-INF/web.xml:29: com.caucho.server.dispatch.MultipartConfigImpl.setMaxFileSize():
com.caucho.config.types.Bytes.addText(): byte-valued expression `10485760'
must have units. '16B' for bytes, '16K' for kilobytes, '16M' for megabytes,
'16G' for gigabytes.
答案 0 :(得分:0)
max-request-size不是表单数据的最大大小,它是整个上传请求的最大大小。
看看: https://docs.oracle.com/javaee/7/tutorial/servlets011.htm 17.11.1
在您的情况下,请将max-request-size设置为大于5.2MB