使用最新的 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);
}
});
答案 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
。无论我做了什么,它都不会在删除其中一些文件后保留队列中的正确数量。也许还有另一种方法来获取我不知道的信息。