如果我尝试上传超过 2 MB 的文件,则会出错。
我在 apache 网站上发现“有两个单独的文件大小限制。第一个是 struts.multipart.maxSize,它来自 Struts 2 default.properties 文件。此设置的存在是出于安全原因,以禁止恶意用户上传极大的文件”归档您的服务器磁盘空间。此设置默认约为 2 MB,应调整为您需要框架接收的最大文件大小(最大 2 GB)”
所以我发现这个问题可以通过添加具有所需最大限制的标签来解决<constant name="struts.multipart.maxSize" value="1000000" />
在 struts.xml 文件中。
我们使用的是struts2-convention-plugin,所以我们没有struts.xml。所以我不确定在哪里定义这个最大文件大小......
如果你们中有人遇到过这一点,请告诉我..
感谢您的帮助。
您可以在 Struts.xml 中定义最大大小(多部分.maxSize正如你所说)来限制overall每个多部分请求的传输;
-
您还可以定义文件大小文件上传拦截器(默认 2MB),既可以全局用于包,也可以用于单个操作(通过在<action>
tag in struts.xml,或者在使用时在 Action 中对其进行注释约定插件:
<interceptor-ref name="fileUpload">
<param name="maximumSize">10485760</param>
</interceptor-ref>
这意味着,例如,如果您将整体分段大小配置为 20 MB,每个文件的最大大小为 4 MB,则您将能够在单个请求中执行 5 个 4 MB 文件的多重上传;
更多信息请点击这里:https://stackoverflow.com/a/15968166/1654265
也就是说,你的问题是没问题;
using 约定插件并不意味着你没有struts.xml;代表着
- you can在操作中使用注释
- you may避免使用struts.xml;
- 当一些与操作无关的struts配置,如multipart.maxSize,需要全局映射(结果、异常、自定义拦截器堆栈等)时,您绝对可以 use struts.xml(如果在那一刻之前它不存在,则创建它)。
任何地方都没有约定插件文档,提到它是互斥的struts.xml(相反,如果您尝试在该页面上搜索“struts.xml”,你会发现多次出现)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)