Javascript Progressbar用于下载XMLHttpRequest文件

Javascript Progressbar用于下载XMLHttpRequest文件,javascript,jquery,asp.net-mvc-4,xmlhttprequest,Javascript,Jquery,Asp.net Mvc 4,Xmlhttprequest,首先很抱歉,如果这是此问题的潜在重复 我试图显示文件下载状态,并使用XMLHttprequest在对话框中显示它。到目前为止,我能够实现在对话框中显示下载状态,但一旦文件被下载。文件未创建,但存储在浏览器内存中。我可以看到文件是在响应我的请求时下载的 任何人都可以帮助我如何在不覆盖文件下载行为的情况下显示进度。您想跟踪XMLHttpRequest,然后可以使用它更新对话框: xhr.addEventListener("progress", function(event) { if (ev

首先很抱歉,如果这是此问题的潜在重复

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


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

您想跟踪XMLHttpRequest,然后可以使用它更新对话框:

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

(一个警告:虽然所有现代浏览器都支持此操作,但IE10下不支持此操作。)

我正在使用上述事件显示进度,但问题是收到的文件没有在浏览器上创建。readystate为4后,是否需要在onload中执行任何操作才能在浏览器上创建文件并保存。