javascript - 如何计算上传的剩余时间?

标签 javascript jquery upload

在我的 jQuery 文件 uploader 中,我有以下可用变量:uploadedBytestotalBytestimeStarted

如何使用这些变量计算上传的剩余时间?我遇到了一个类似的问题,涉及 uploadSpeed 变量。

我可以从这些变量中推导出uploadSpeed吗?或者我可以仅使用这三个变量来计算剩余时间吗?

最佳答案

假设 uploadedBytes 在上传过程中发生变化。

-> 当您知道上传开始时调用此脚本:

var timecontroller = setInterval(function(){
    timeElapsed = (new Date()) - timeStarted; // Assuming that timeStarted is a Date Object
    uploadSpeed = uploadedBytes / (timeElapsed/1000); // Upload speed in second

    // `callback` is the function that shows the time to user.
    // The only argument is the number of remaining seconds. 
    callback((totalBytes - uploadedBytes) / uploadSpeed); 
}, 1000)

-> 文件完全上传后,清除间隔timecontroller:

clearInterval(timecontroller)

注意timeStarted必须是Date对象。

告诉我它是否有效。 感谢@Stefano Sanfilippo - 我使用了他的一些脚本。

关于javascript - 如何计算上传的剩余时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162749/

相关文章:

javascript - .findIndex() 是 JavaScript 中的高阶函数吗?

javascript - Django Ajax jQuery URL

html - 如何使用 HTML 将文件上传到网站

javascript - “接受”属性 - 避免文件类型?

javascript - PhoneGap 中的 new Date() 不准确 - 更好的时间解决方案?

javascript - 是否可以在同时触发的多个事件上设置监听器?

javascript - 带字符边框的数字输入

javascript - 是否有一种简单、通用的 JQuery/Javascript 出站点击跟踪方法?

php - 如何将 getimagesize() 与 $_FILES ['' ] 一起使用?

javascript - 在 AngularJS 中使用元素属性评估作用域对象