如何在客户端使用javascript/JQuery检查文件下载状态

如何在客户端使用javascript/JQuery检查文件下载状态,javascript,jquery,file,download,status,Javascript,Jquery,File,Download,Status,用户单击网页上的按钮下载文件,我想跟踪文件是否下载到用户机器上,或者是否使用javascript/JQuery之类的客户端代码 单击按钮时,将调用ASP.NET.ASHX Web处理程序代码,返回要下载的文件 当用户单击网页上的下载按钮时,我们还可以使用javascript/JQuery检查用户在下载文件时是否存在问题(安全、防火墙等)。这可以通过附加到AJAX请求的“进度”事件来完成 let xhr = new XMLHttpRequest(); xhr.addEventListener(&q

用户单击网页上的按钮下载文件,我想跟踪文件是否下载到用户机器上,或者是否使用javascript/JQuery之类的客户端代码

单击按钮时,将调用ASP.NET.ASHX Web处理程序代码,返回要下载的文件

当用户单击网页上的下载按钮时,我们还可以使用javascript/JQuery检查用户在下载文件时是否存在问题(安全、防火墙等)。

这可以通过附加到AJAX请求的“进度”事件来完成

let xhr = new XMLHttpRequest();
xhr.addEventListener("progress",event=>{
  console.log(`${event.loaded} out of ${event.total}`);
});
然后,可以通过AJAX创建一个链接到将保存在内存中的文件数据的假链接来处理下载:

xhr.onreadystatechange(function(){
  if(this.readyState==4 && this.status==200){
    //Download content via imaginary link with data saved in memory
    var a = document.createElement('a');
    var url = window.URL.createObjectURL(this.response);
    a.href = url;
    a.download = 'myfile.pdf';
    document.body.append(a);
    a.click();
    a.remove();
    window.URL.revokeObjectURL(url);
  }else if(this.status==404){
    console.error("page not found");
  }
});
xhr.open("GET","myfile.pdf",true);
xhr.responseType = "blob";
xhr.send();
这可以通过附加到AJAX请求的“progress”事件来完成

let xhr = new XMLHttpRequest();
xhr.addEventListener("progress",event=>{
  console.log(`${event.loaded} out of ${event.total}`);
});
然后,可以通过AJAX创建一个链接到将保存在内存中的文件数据的假链接来处理下载:

xhr.onreadystatechange(function(){
  if(this.readyState==4 && this.status==200){
    //Download content via imaginary link with data saved in memory
    var a = document.createElement('a');
    var url = window.URL.createObjectURL(this.response);
    a.href = url;
    a.download = 'myfile.pdf';
    document.body.append(a);
    a.click();
    a.remove();
    window.URL.revokeObjectURL(url);
  }else if(this.status==404){
    console.error("page not found");
  }
});
xhr.open("GET","myfile.pdf",true);
xhr.responseType = "blob";
xhr.send();

您使用AJAX进行文件下载吗?我们没有使用AJAX您使用AJAX进行文件下载吗?我们没有使用AJAX