一、简介
struct2的文件上传其实是通过拦截器来实现的,只是该拦截器定义为默认的拦截器栈(defaultStack)中
<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
......
<interceptor-ref name="fileUpload"/>
.......
</interceptor-stack>
二、指定用户上传文件的大小,有两种方式
1)默认是在org.apache.struct2下的default.properties中struts.multipart.maxSize=2097152 也就是2M。
我们可以改变其默认值,只要在src目录下,新建structs.properties文件,指定上传文件的大小如
struts.multipart.maxSize=10485760
一次上传只可以上传10M,不管一次上传多少文件,按总和计算。
2)在structs.xml配置文件中指定
<structs>
<constant name="struts.multipart.maxSize" value="10485760 "></constant>
<!--name就是structs.properties的键,value对应值-->
</structs>
注意:如果在structs.properties设定了上传文件的带下,又在struct.xml中设定文件上传大小。则structs.properties的优先级高于structs.xml,一般在一处指定上传指定文件的大小即可,推荐使用struct.properties