编程语言
首页 > 编程语言> > Java-迁移到Struts 2.3.24之后,仍然不支持大于2GB的文件上传

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

作者:互联网

在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">

对于动作映射,我们使用DMI的概念.动作配置如下:

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

但是文件上传仍不适用于大于2GB的大文件.但是上面的代码对于较小的上载效果很好,

解决方法:

如果the documentation不告诉您这样做,为什么还要声明一个bean?

只是改变

<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,file-upload,struts2,multipartform-data,max-size
来源: https://codeday.me/bug/20191013/1904528.html