此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【vtegymtd888】截止到2008-08-02 14:49:53的历史汇总数据(不包括此帖):
发帖的总数量:2                        发帖的总分数:20                       每贴平均分数:10                       
回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:2                        未结的总分数:20                       
结贴的百分比:0.00  %               结分的百分比:0.00  %                  
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=vtegymtd888

解决方案 »

  1.   

    <action name="upload" class="com.sturts2.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"/>
       <!-- 动态设置Action的属性值 -->
                 <param name="savePath">/upload</param>
    ...
      

  2.   

     <interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
    sturts-default.xml中提供了这个拦截器
    只要配置在struts.xml中即可
      

  3.   

    http://hanxin830311.javaeye.com/blog/200990
    看下这个
    他说是common-fileupload的问题
      

  4.   

    貌似可以通过修改struts.xml<constant name="struts.multipart.maxSize" value="修改这个值改变默认大小" />
      

  5.   

    那也是。就是小于2M的时候。拦截器也没发现有用呀。比如:我这样写的。
    <param name="allowedTypes">image/bmp,image/jpg</param>
    小于2M上面的代码一点用都没有。
    为什么?
      

  6.   

    比如:我上传*.txt的文件是可以的。*.jar的文件还是可以的。拦截器没有起做用。
    为什么?
      

  7.   

    <!-- 配置fileUpload文件上传拦截器 -->
    <interceptor-ref name="fileUpload">
    <!-- 配置允许上传的文件类型 -->
    <param name="allowedTypes">
    image/bmp,image/png,image/gif,image/jpeg,image/pjpeg
    </param>
    <!-- 配置上传文件的大小 -->
    <param name="maximumSize">1048564</param>
    </interceptor-ref>
    <!-- 显示的配置Struts的默认的拦截器 -->
    <interceptor-ref name="defaultStack" />
    <!-- 上传文件过滤失败,自动转入INPUT 视图 -->
    <result name="input">/barhome/barlogin_edit.jsp</result>
    页面上你只要在你到file后面加<s:fielderror></s:fielderror>别忘了导入jar包commons-fileupload-1.2.jar包....

    给分吧..等不及了..100哦
      

  8.   

    补充我在13楼的贴<interceptor-ref name="fileUpload">如果验证失败将自动返回input
    所以你需要配置你的input返回你的页面..这样<s:fielderror> </s:fielderror> 
    才起作用
      

  9.   

    楼上的解答,还是比较通俗的。
    小于2M的,设置,使用默认的 upload拦截器,可以显示错误信息;
    大于2M的,
    在,struts.xml中
        <constant name="struts.multipart.maxSize" value="10000000" />
    可以check大于10M的文件大小错误,但是没找到如何显示出错的方法。==
    我的帖子都给了140分,还是无人回答啊