因我这边的网络问题,多文件上传时经常会有部分文件上传失败,但是为了保持原始文件顺序的完整性又不能追加上传,所以自己试着加入重传的代码却不行。
执行到swfu.startUpload(reupload.id);语句后整个程序就停止上传,并且没有触发uploadError和 uploadComplete事件。初步判断是startUpload事件不上传标记为失败的文件或者上传失败后就将失败的文件移出上传队列,但是怎么才 能更改上传失败文件的状态呢?请各位帮忙看看有什么办法解决吗?
代码如下:
var reupload = null; //全局变量 function reupload(file){ if(confirm("当前文件上传错误,是否重新上传?")){ reupload = file; } else { reupload = null; } } function uploadError(file, errorCode, message)//文件上传错误 { setFileState(file.id,'上传失败!') if(!(errorCode == -280 || errorCode == -290)){ reupload(file); } } function uploadComplete(file)//文件上传周期结束 { if(swfu.getStats().files_queued>0){ if(reupload != null){ swfu.startUpload(reupload.id); } else { swfu.startUpload(); } } else { uploadAllComplete(); } }