日期:2014-05-20  浏览次数:20720 次

Struts2.2.1文件上传是无法进行文件过滤
Struts2.2.1文件上传是无法进行文件过滤
跟没有拦截之前一样,什么类型的文件都可以上传

这是怎么回事?

XML code
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="fileupload" extends="struts-default" namespace="/">
        <action name="upload" class="com.chk.action.UploadAction">
            <!-- 配置fileUpload的拦截器 -->
            <interceptor-ref name="fileUpload">
                <!-- 配置允许上传的文件类型 -->
                <param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
                <!-- 配置允许上传的文件大小 -->
                <param name="maximumSize">2000</param> 
            </interceptor-ref> 
            <!-- 配置系统默认的拦截器 -->
            <interceptor-ref name="defaultStack"/>
            <param name="savePath">/upload</param>
            <result name="input">/upload.jsp</result>
            <result>/ok.jsp</result>
        </action>
    </package>
</struts>    



------解决方案--------------------
信息太少了吧...
------解决方案--------------------
param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg</param>
楼主在这个上传类中获取allowedTypes得到的是一个数组。遍历该数组
进行判断然后判断文件的后缀是否等于allowedTypes里面的值