java - 迁移到struts 2.3.24后,仍然不支持大于2GB的文件上传

标签 java file-upload struts2 multipartform-data max-size

在struts2.3.24中的struts.xml中添加以下内容:

<constant name="struts.multipart.parser"  value="jakarta-stream" />
<constant name="struts.multipart.maxSize" value="3147483648" />

仅供引用,jsp 中的上传工作如下:

<s:form id="uploadData" action="abc_UploadAction?method=Upload" namespace="xyz"   validateFields="false" method="post"    enctype="multipart/form-data">

对于 Action 映射,我们使用 DMI 的概念。 Action 配置如下:

<action name="abc_*" class="ABCAction">
<result type="chain">invoke_${module}_{1}_${method}</result>
</action>

但是对于大于 2GB 的大文件,文件上传仍然不起作用。但上面的代码对于较小尺寸的上传工作正常,

最佳答案

为什么要声明一个 bean,如果 the documentation不是叫你这样做吗?

改变一下

<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="jakartaStream"
     class="org.apache.struts2.dispatcher.multipart.JakartaStreamMultiPartRequest" 
     scope="default" />
<constant name="struts.multipart.parser"  value="jakartaStream" />

正确的配置应该是(连字符,而不是大写):

<constant name="struts.multipart.parser"  value="jakarta-stream" />

关于java - 迁移到struts 2.3.24后,仍然不支持大于2GB的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34715137/

相关文章:

java - 如何在框架的装饰部分触发事件?

javascript - 如何将一个文件上传按钮的内容传递到另一个页面?

jquery - 在 Struts2 中作为表单的一部分提交时如何捕获 jquery 网格中的选定行

java - struts2 应用程序中的 session

java - <form> 标记未包含在 <s :iterator> in . jsp 的第一 <tr> 行中

java - Ctrl+V 在 IntelliJ 中不起作用

java - 为什么 minifyEnabled 显示我的大部分代码?

java - Spring 框架中错误的请求绑定(bind)对象

jsp - Struts2文件上传

php - 阿拉莫菲尔!在分段文件上传中,progress.isPausable返回false,并且progress.pause()不起作用