【问题标题】:ajax file download : progress event, for downloadajax 文件下载:进度事件,用于下载
【发布时间】:2013-10-03 04:49:48
【问题描述】:

我了解 xhr.upload.onprogress 事件(文件上传)。 像这样:

    xhr.upload.onprogress = function(e) {   // if (e.lengthComputable) ...
        var percentUploaded = Math.floor(100 * e.loaded / e.total);
        progressBarElem.value = percentUploaded;
        messageAreaElem.innerHTML = percentUploaded + "% uploaded";
    }

但是 xhr.onprogress 事件,即从服务器下载文件的事件呢?

我找不到一个简单的例子。

帕特里克

【问题讨论】:

标签: javascript php ajax file-upload


【解决方案1】:

正如Document所说:

下载和上传传输都存在进度事件。下载事件在 XMLHttpRequest 对象本身上触发,如上面的示例所示。上传事件在 XMLHttpRequest.upload 对象上触发。

您可以尝试使用以下代码进行验证

var progress = 0.1;

var oReq = new XMLHttpRequest();

//Download progress
oReq.addEventListener("progress", function(evt){
  if (evt.lengthComputable) {
    var percentComplete = evt.loaded / evt.total;
    //Do something with download progress
    console.log(evt.total);
    if(percentComplete > progress ){
        console.log("Finish " + progress * 100 + "%.");
        progress += 0.1;

    }
  }
}, false);

oReq.open("get", "url", true);
oReq.send();

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    相关资源
    最近更新 更多