用STRTUS2写了一个文件上传 现在想让用户只允许上传图片类型的 于是就在STRUTS2的ACTION配置文件中写了一个拦截器如下 <action name="SaveXueSheng" class="xueShengAction" method="SaveXueSheng"> <!-- 配置fileUpload的拦截器 --> 
            <interceptor-ref name="fileUpload"> 
                <param name="allowedTypes">image/bmp,image/png,image/gif,image/jpeg,image/jpg </param> 
                <param name="maximumSize">2000 </param> 
            </interceptor-ref> 
            <interceptor-ref name="defaultStack"/> <result name="success">/success.jsp </result> 
<result name="error">/index.jsp </result> 
</action> 以上就是配置好的上传限制拦截器 可是不管用呵呵 上传EXE文件都可以。网上找遍了 都是抄袭李刚哪本书说的 但是都解决不了,所以看这里那位有解决办法的经验分享一下,其他的问题不用回答,例如使用JS之类的去做就免了,再次感谢。

解决方案 »

  1.   

    你再配个<result name="input">/index.jsp </result> 。上传拦截器,首先会去验证,失败的话默认查找input 结果页面。
    再不行的话看一下,action里面是不是有错
      

  2.   

    LZ参考下吧,手动过滤和拦截器过滤
    http://blog.csdn.net/spring_fans/archive/2007/09/28/1804274.aspx
      

  3.   

    我说的不好用吗?
    我写在我的blog里了,本机测试完全没有问题,呵呵
    http://www.blogjava.net/landor2004/archive/2009/06/11/281416.html这个上传限制无任何问题!
      

  4.   

    楼上的朋友你好 我照着你的办法做了 可是提交了之后就会报错 不管上传什么都会报NULL异常 上传图片也是一样 可是去掉你那个配置就好了 不知道为什么 实在是搞不明白 还请在指教一下 一个这么简单的配置为什么在我机子上就不行了
      

  5.   

    感谢 Landor2004 一共给你了150分了 哈哈 答案就是我的ACTION没有继承ActionSupport  所以拦截器总是不起作用 以后大家看见这个帖子就知道问题的原因了。一起努力共享经验~