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