使用jsf 2.2.7和jquery 1.9.1
我使用XMLHttpRequest.upload创建了一个非常好的进度条,除了如标题中所述,event.loaded在某些情况下重置一段时间后,导致进度返回到0 %。我甚至不能说这完全取决于文件的大小,因为它发生了:
a)在本地上传2gb +文件时 b)通过LAN上传1gb +文件时 c)在发布的网站上上传15个 mb +文件时(这是我第一次遇到问题时)
(b)和(c)都比(a)更频繁地重置,并且永远不会达到100%。我可以在浏览器中看到上传保持正常进行,但是条形图并没有反映出进度,因为它一直在失去跟踪。
谁能告诉我发生了什么?我能找到的唯一类似问题是this,但它没有解决。
var media;
$(document).on("change", "#mediaFile", function() {
media = this.files[0];
//some display code
});
$(document).on("click", "#submit", function() {
if (typeof media != 'undefined') {
var xhr = new XMLHttpRequest();
if (xhr.upload) {
var progress;
xhr.upload.onloadstart = function() {
//some display
}
xhr.upload.onprogress = function(e) {
if (e.lengthComputable) {
//this e.loaded resets after a while
progress = Math.floor(e.loaded / e.total * 100);
$("#upload_bg").css("width", progress + '%');
$("#upload_percent").text(progress + '%');
console.log("loaded: " + e.loaded + " / total: " + e.total + " / percentage: " + Math.floor(e.loaded / e.total * 100) + "%");
}
}
xhr.upload.onloadend = function() {
//some display code
}
}
xhr.open('post', URL, true);
xhr.send(media);
}
});
装载:1196032 /总计:2109656694 /百分比:0%
装载:22118400 /总计:2109656694 /百分比:1%
装载:32849920 /总计:2109656694 /百分比:1%
(...)
装载:1559707648 /总计:2109656694 /百分比:73%
装载:1572290560 /总计:2109656694 /百分比:74%
已加载:163840 /总计:2109656694 /百分比:0%< ------重置
装载:17924096 /总计:2109656694 /百分比:0%
装载:28803072 /总计:2109656694 /百分比:1%
(...)
装载:1761443840 /总计:2109656694 /百分比:83%
已加载:1638400 /总计:2109656694 /百分比:0%< ------重置
装载:16809984 /总计:2109656694 /百分比:0%
装载:42942464 /总计:2109656694 /百分比:2%
(...)
装载:2075492352 /总计:2109656694 /百分比:98%
装载:2099511296 /总计:2109656694 /百分比:99%
装载:2109656694 /总计:2109656694 /百分比:100%
装载:131072 /总计:1308543464 /百分比:0%
装载:4014080 /总计:1308543464 /百分比:0%
装载:15826944 /总计:1308543464 /百分比:1%
装载:21741568 /总计:1308543464 /百分比:1%
(...)
装载:181764096 /总数:1308543464 /百分比:13%
已加载:131072 /总计:1308543464 /百分比:0%< ------重置
装载:11993088 /总计:1308543464 /百分比:0%
装载:17874944 /总计:1308543464 /百分比:1%
(...)
装载:76972032 /总计:1308543464 /百分比:5%
装载:82853888 /总计:1308543464 /百分比:6%
装载:177487872 /总计:1308543464 /百分比:13%
已加载:32768 /总计:1308543464 /百分比:0%< ------重置
(永远不会达到100%)