【问题标题】:org.apache.commons.fileupload.FileUploadBase and SizeLimitExceededExceptionorg.apache.commons.fileupload.FileUploadBase 和 SizeLimitExceededException
【发布时间】:2016-02-04 11:08:10
【问题描述】:

我正在尝试在我的应用程序中上传文件。文件大小为 2055 kb。上传文件后。它抛出的异常是:

04-Feb-2016 15:42:41.141 INFO [http-nio-8084-exec-78] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.info Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir
04-Feb-2016 15:42:41.203 WARNING [http-nio-8084-exec-78] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn Request exceeded size limit!"
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (2104281) exceeds the configured maximum (2097152)

我正在使用 Struts 框架。

【问题讨论】:

  • 你用的是什么服务器,Tomcat?
  • 被拒绝,因为它的大小 (2104281) 超过了配置的最大值 (2097152) - 配置最大值。

标签: file-upload configuration struts2


【解决方案1】:

Struts2 允许配置上传文件的限制。

Struts 2 default.properties 文件定义了几个影响文件上传行为的设置。您可能会发现有必要更改这些值。名称和默认值是:

struts.multipart.parser=jakarta
struts.multipart.saveDir=
struts.multipart.maxSize=2097152

注意,末尾没有0

你可以通过设置一个常数来增加请求限制来改变它

<constant name="struts.multipart.maxSize" value="20971520" />

请记住struts.multipart.maxSize是整个请求的大小限制,这意味着当您上传多个文件时,它们的大小之和必须低于struts.multipart.maxSize

您可以通过覆盖操作配置来更改单个文件的限制

<interceptor-ref name="fileUpload">
   <param name="maximumSize">20971520</param>
</interceptor-ref> 

有关File Upload 的更多信息,您可以在文档页面上找到。

【讨论】:

  • 我在我的 struts.xml 页面中使用了 。现在我可以上传超过 2Mb 的文件了。
猜你喜欢
  • 2014-11-04
  • 1970-01-01
  • 2010-11-30
  • 2011-05-01
  • 2020-01-08
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多