用于XMLHttpRequest文件下载的Progressbar

时间:2015-06-02 19:17:25

标签: javascript jquery asp.net-mvc-4 xmlhttprequest

首先很抱歉,如果这个问题可能存在副本。

我正在尝试显示文件下载状态,并使用XMLHttprequest在对话框中显示它。到目前为止,我能够在对话框中显示下载状态,但是一旦下载了文件。文件未创建但存储在浏览器内存中。我能够看到文件是在我的请求的响应中下载的。

任何人都可以帮助我如何在不覆盖文件下载行为的情况下显示进度。

1 个答案:

答案 0 :(得分:0)

您希望跟踪XMLHttpRequest的progress event,然后您可以使用它来更新对话框:

xhr.addEventListener("progress", function(event) {
    if (event.lengthComputable) {
        var percentLoaded = (event.loaded / event.total) * 100;
        console.log(percentLoaded);
    }
});

(有一点需要注意:虽然所有现代浏览器都支持此功能,但IE10下方不支持此功能。)