gpt4 book ai didi

jquery - 在 Firefox 上上传 100% 时,Html5 ajax 文件上传进度监听器不会触发

转载 作者:行者123 更新时间:2023-12-01 00:24:33 24 4
gpt4 key购买 nike

我正在通过ajax上传文件并在上传后处理图像。当我尝试在 Firefox 上通过 ajax 上传图像文件时,当上传百分比为 100% 但文件上传成功时,xhr 进度事件不会触发我的进度函数。

Google Chrome 在上传进度 100% 时触发,但 Firefox 不会。

简单看一下我的上传脚本:

$("#uploadbutton").click(function(){
var xhr=new XMLHttpRequest()
,fd=new FormData();

xhr.upload.addEventListener("loadstart", uploadStart, false);
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("error", uploadFailed, false);

xhr.open("POST", mainurl+"ajaxupload.php");

$.each($("#upload_input").files,function(i,file){
fd.append("files_"+i,file);
});

xhr.send(fd);

});

function uploadProgress(event){
var percentComplete = Math.round(event.loaded * 100 / event.total);
console.log("pecent ",percentComplete);
}

上传开始时,uploadProgress函数运行1次(主要是上传百分比80%时),但上传完成时不触发。

最佳答案

除了当前的处理程序之外,还添加两个:load (如果成功完成则触发),loadend (总是最后开火)。

// zero or once
xhr.addEventListener("load", uploadSuccess, false);
function uploadSuccess(event) {
console.log("Upload successful.");
}

// once
xhr.addEventListener("loadend", uploadComplete, false);
function uploadComplete(event) {
console.log("All done.");
}

关于jquery - 在 Firefox 上上传 100% 时,Html5 ajax 文件上传进度监听器不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9209235/

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