$(document).ready(function(){
$("#uploadify").uploadify({
                'uploader' : 'uploadify.swf',
'script' : 'upload.do?method=savefile',//后台处理的请求
'scriptData' : {'id':'${person.id}'},
'cancelImg' : '${ctx}/styles/images/cancel.png',
'queueID' : 'fileQueue',//与下面的id对应
'queueSizeLimit' : 1,
'fileDesc'     : 'rar文件或zip文件',          
'fileExt'  : '*.rar;*.zip', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'displayData'  : 'speed',//百分比'percentage',速度:'speed'
'auto'                    : false,
'multi'                   : false,
'simUploadLimit'  : 2,
'buttonText'      : 'BROWSE'
});
});<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" />
<p><!-- -->
<a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;
<a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
</p>后台跟实例的那个方法相类似,
public ActionForward  savefile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
.......
List fileList = null;
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
ex.printStackTrace();
return this.list(mapping, form, request, response);
}
Iterator<FileItem> it = fileList.iterator();
......
}问题:
在ff、谷歌下点上传后直接报HTTP error
但是ie下进度条会显示上传到100%,可是后台fileList取不到文件,即fileList = upload.parseRequest(request);没有效果

解决方案 »

  1.   

    SSH框架,请求ie下有提交到后台,其他浏览器没有
      

  2.   

    楼主后台处理文件流可是struts 1?
      

  3.   


    这个架构是struts 2的,这个处理文件流分不清
      

  4.   

    Struts 2 的文件上传封装得很好了!哪里有这麽麻烦! 
    在Struts 2中你只要定义一个与前台name一致的文件流就可以  然后你操作这个文件流就可以了  全部自动获取  
       比如你前台的uploadify插件  如果没有定义 fileDataName :为其他的名字 那么插件的默认名字为Filedata    那么你只需在后台定义一个   private File Filedata;  再加上get set方法即可    struts框架已经帮你获取好了!你就直接操作这个文件流就可以了!