Uploadify:从队列中删除文件后,totalBytesTotal未更新

时间:2013-03-07 15:24:52

标签: jquery uploadify

使用最新的 jQuery Uploadify 我使用 onUploadProgress 实现了一个进度条,效果很好。唯一的问题是,在上传过程中从队列中删除文件时,totalBytesTotal不会自行更新,这会使我的进度条显示不正确的信息。

建议,欢迎变通方法。

顺便说一句:尝试过他们的论坛(垃圾邮件天堂,顺便说一句)似乎没有人有这样的问题。

$("#button_holder").uploadify({
    "onUploadProgress" : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal){
        pos = Math.round((totalBytesUploaded/totalBytesTotal)*100);
        kb = (totalBytesTotal /1024).toFixed(1);
        $("#progress_text").html("uploading "+ TotalFiles +" files.<br>"+ pos +"% of "+ kb +"kB done.<br>please wait.");
        $("#progress_bar").animate({"width" : pos +"%"},100);
    }
});

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的任何人来说,对我有用的诀窍是使用 onSelect onUploadError 来管理自定义var(in我的案例 MyBytesTotal )包含队列中文件的总大小,并依赖于 {{中的 totalBytesTotal 而不是 onUploadProgress 1}}

$("#button_holder").uploadify({
    "onSelect" : function(file){
        MyFilesTotal++;
        MyBytesTotal = MyBytesTotal + file.size;
    },
    "onUploadProgress" : function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal){
        pos = Math.round((totalBytesUploaded/MyBytesTotal)*100);
        kb = (MyBytesTotal /1024).toFixed(1);
        $("#progress_text").html("uploading "+ MyFilesTotal +" files.<br>"+ pos +"% of "+ kb +"kB done.<br>please wait.");
        $("#progress_bar").animate({"width" : pos +"%"},100);
    },
    "onUploadError" : function(file, errorCode, errorMsg, errorString){
        MyFilesTotal--;
        MyBytesTotal = MyBytesTotal - file.size;
    }
});

我最终没有使用MyFilesTotal。无论我做了什么,它都不会在删除其中一些文件后保留队列中的正确数量。也许还有另一种方法来获取我不知道的信息。