上传文件能正常进行,但是当我什么都不上传,<s:file name="upload"> 为空时,提交后就会发生以上错误:
14:30:50,593 INFO  [STDOUT] ERROR 2010-11-29 14:30:50,593 FileUploadInterceptor:acceptFile - Content-Type not allowed: upload "upload_603a9083_12c964c0a13__7fff_00000009.tmp" application/octet-stream

解决方案 »

  1.   

     我的上传是这样写的 
            private List<File> upload; private List<String> uploadFileName; private List<String> uploadContentType;
     js 没有写
     后台判断是这样的
                     // 上传附件
    if(getUpload()!=null&&getUpload().size()>0){
                            //邮件上传方法
    upload(upload, uploadFileName);
    }
      

  2.   

    这个很容易验证,你在if(getUpload()!=null&&getUpload().size()>0)这行设置个断点,跟踪一下getUpload()的值是什莫?然后再分析一下。
      

  3.   

     在struts_email.xml中配置了这个:
                            <interceptor-ref name="fileUpload">
    <param   name="allowedTypes">image/png,image/gif,image/jpeg,image/jpg,image/x-png</param>
    <param name="maximumSize">2000000</param>
    </interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>而空文本为:application/octet-stream
    根本无法进来 
    添加application/octet-stream 到allowType 后 upload 值为:
    D:\myTools\jboss-4.2.2.GA\server\default\work\jboss.web\localhost\fmp\upload__6de36cfb_12c96f2362d__7fff_00000003.tmp然后就是java.io.FileNotFoundException: (upload的路径) 系统无法找到指定路径
      

  4.   

    问题解决了 
     我用的多文件上传  我用 uploadFileName==null 判断 
    结果总是为true   用 uploadFileName.get(0).trim()!="" 判断即可