(14)文件上传

来源:互联网 发布:免费的crm软件 编辑:程序博客网 时间:2024/06/06 01:50

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