gpt4 book ai didi

javascript - 是否可以找到 html 5 文件上传的预计到达时间?

转载 作者:搜寻专家 更新时间:2023-10-31 08:33:13 25 4
gpt4 key购买 nike

我的网站上有一个 html5 文件上传脚本。

它与这个进度条脚本配合得很好

xhr.upload.addEventListener("progress", function(e) {
var pc = parseInt(100 - (e.loaded / e.total * 100));
var pci = parseInt(e.loaded / e.total * 100);
//get us our ETA
//kilobytes or megabytes?
var pcia = e.loaded / 1024;
var pcia2 = e.total / 1024;
if (pcia2 > 1024)
{
pcia = pcia / 1024
pcia2 = pcia2 / 1024;
progress.style.backgroundPosition = pc + "% 0";
elapsedtime = startTime + new Date();
alert(startTime);alert(new Date());
var eta = ((e.total / e.loaded) * elapsedtime) - elapsedtime;
progress.innerHTML = pci + "% (" + Math.ceil(pcia * 100)/100 + " MB of " + Math.ceil(pcia2 * 100)/100 + " MB)-(" + eta +" secs. remaining)";
}
else
{
progress.style.backgroundPosition = pc + "% 0";
progress.innerHTML = pci + "% (" + Math.ceil(pcia * 100)/100 + " KB of " + Math.ceil(pcia2 * 100)/100 + " KB)-(" + eta +" secs. remaining)";
}
}, false);

好的,所以我已经提醒了开始时间和调用进度的时间。但是变量 ETA 显示为 NaN。你怎么能实现像 date("Y-m-d H:i:s"); 这样的东西? (来自 php)在 javascript 中?

最佳答案

要查找预计到达时间,您必须将代码更改为此。
这里所做的更改是我们有 2 个新变量,名为 startTime 和 now。

在上传开始后立即放置 var startTime,它应该与 var now 的语法相同。

此脚本将告诉用户完成百分比、上传的千字节/兆字节与总计 kb/mb 的对比,以及现在文件上传的预计到达时间。

xhr.upload.addEventListener("progress", function(e) {

var pc = parseInt(100 - (e.loaded / e.total * 100));
var pci = parseInt(e.loaded / e.total * 100);
//get us our ETA
//kilobytes or megabytes?
var pcia = e.loaded / 1024;
var pcia2 = e.total / 1024;
if (pcia2 > 1024)
{
pcia = pcia / 1024
pcia2 = pcia2 / 1024;
var now = (new Date()).getTime();
var elapsedtime = now - startTime;
elapsedtime = elapsedtime / 1000;
var eta = ((e.total / e.loaded) * elapsedtime) - elapsedtime;
eta = Math.round(eta);
progress.innerHTML = pci + "% (" + Math.ceil(pcia * 100)/100 + " MB of " + Math.ceil(pcia2 * 100)/100 + " MB)-(" + eta +" secs. remaining)";alert(pci); progress(pci, $('#progress'));
}
else
{
var now = (new Date()).getTime();
var elapsedtime = now - startTime;
elapsedtime = elapsedtime / 1000;
var eta = ((e.total / e.loaded) * elapsedtime) - elapsedtime;
progress.innerHTML = pci + "% (" + Math.ceil(pcia * 100)/100 + " KB of " + Math.ceil(pcia2 * 100)/100 + " KB)-(" + eta +" secs. remaining)"; progress(pci, $('#progress'));
}
}, false);

关于javascript - 是否可以找到 html 5 文件上传的预计到达时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18280688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com