您的位置:首页 > 编程语言 > Java开发

Struts2文件上传 —— 限制文件的大小及类型

2013-11-06 14:51 477 查看
在文件上传的时候,有可能需要对文件的大小和类型做出限制。
Struts 2支持直接在fileUpload 拦截器上设置参数来进行限制。
 
在引用fileUpload 拦截器的时候,可以指定3 个参数(指定<param>子元素) :

allowedTypes
指定允许上传的文件的类型, 如果存在多种类型,以逗号隔开。注意:这里添的不是文件的扩展名, 而是对应的ContentType。
maximumSize
指定允许上传的文件的最大字节数。
allowedExtensions
指定允许上传的文件的扩展名。
 
如果上传的文件不满足以上的参数指定的条件,则会跳转到一个叫input的<result>上, 一般input 都会指回到提交之前的页面,也就是文件上传页面。

<packagename="default"namespace="/"extends="struts-default">
   <actionname="upload"class="cn.itcast.user.action.FileUploadAction"
      method="upload">
      <!--
向FileUploadAction中传入上传文件的存放目录的参数值
-->
      <paramname="uploadPath">D:\</param>
      <!--
引用fileUpload拦截器
-->
      <interceptor-refname="fileUpload">
          <!--
设置单个上传文件的大小,单位字节 -->
          <paramname="maximumSize">20000000</param>
          <!--
设置单个上传文件的扩展名为jpg,多个扩展名之间通过","号分隔
-->
          <paramname="allowedExtensions">.jpg</param>
          <!--
设置单个上传文件的MIME类型,多个类型之间通过","号分隔
-->
          <paramname="allowedTypes">image/jpeg</param>
      </interceptor-ref>
      <!--
当显示声明使用某一具体拦截器时,那么默认拦截器栈中的18个拦截器就不起作用了
      如果又要默认拦截器栈中的拦截器有作用的话,又需显示声明使用默认拦截器栈
-->
      <interceptor-refname="defaultStack"/>
      <resultname="input">/jsp/upload.jsp</result>
      <result>/jsp/success/upload_success.jsp</result>
   </action>
</package>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts 2 文件上传