在struts2框架中提供了一个文件上传拦截器fileUpload,只要在struts.xml文件中配置上传文件的Action时添加该拦截器,就可以实现文件上传过滤,fileUpload主要有如下两个参数:
(1)allowedType:用来指定上传文件类型,多个文件类型之间使用英文逗号分隔
(2)maximumSize:用来指定允许上传文件的大小,注意,这个单位是B(字节)
下面以只能上传图片文件为例(其他文本类型上传过滤,请查阅相关文档),根据上一讲的内容,只需在其struts.xml文件中做如下配置:
<action name="file_*" class="cn.test.fileUp.fileUpAction" method="{1}">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/pjpeg,image/x-png,image/gif,image/bmp</param>
</interceptor-ref>
<param name="savePath">/upload</param>
<result name="fileUpUI">/WEB-INF/jsp/fileUpUI.jsp</result>
<result name="fsuccess">/WEB-INF/jsp/fsuccess.jsp</result>
</action>
就可以完成上传文件过滤。