(14)文件上传

一、简介
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

猜你喜欢

转载自blog.csdn.net/jiangshangchunjiezi/article/details/78788177