如何修复 Struts 2 中的 org.apache.commons.fileupload.FileUploadBase 和 SizeLimitExceededException

问题描述 投票:0回答:1

我正在尝试在我的应用程序中上传文件。文件大小为 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 框架。

file-upload configuration struts2
1个回答
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> 

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

© www.soinside.com 2019 - 2024. All rights reserved.