gpt4 book ai didi

javascript - XMLHttpRequest progress事件比实际上传快很多

转载 作者:可可西里 更新时间:2023-11-01 02:42:30 26 4
gpt4 key购买 nike

我正在尝试实现一个上传表单并返回上传状态以返回给使用 xhr 的用户。一切似乎都已正确实现,但是在上传时,回调似乎发生得太快并且返回的百分比比实际发生的要高得多。

对于文件 ~<20Mb,我立即收到一个回调,显示超过 99%,而上传在后台继续流失了一段时间。

请参阅下面的屏幕抓图,其中显示了 74Mb 文件中的控制台。这是在上传初始化后几秒钟拍摄的,上传又持续了大约 60 秒(注意只有 3 个回调注册(加载的总大小)(计算的百分比)并且 ajax 上传继续与 throbber 一起)。

有没有人遇到过这种情况并设法准确表示上传状态?

(“加载”事件在上传过程后正确触发)

这是我的代码:

$(this).ajaxSubmit({
target: '#output',
beforeSubmit: showRequest,
xhr: function()
{
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload)
{
console.log('have xhr');
myXhr.upload.addEventListener('progress', function(ev){
if (ev.lengthComputable) {
console.log(ev.loaded + " " + ev.total);
console.log((ev.loaded / ev.total) * 100 + "%");
}
}, false);

}
return myXhr;
},
dataType: 'json',
success: afterSuccess
});

enter image description here

最佳答案

有几份关于相同行为的报告 - 文件上传进度报告不正确 - 由防病毒软件检查要上传的文件引起。我的猜测是,防病毒软件的某些部分试图弥补可能的延迟(由检查引起),但未能正确完成。

关于javascript - XMLHttpRequest progress事件比实际上传快很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839566/

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