• ajax方式下载文件


    <button type="button"  onclick="download()">导出</button>
    
    function download() {
    
       var url = 'download/?filename=aaa.txt';
    
       var xhr = new XMLHttpRequest();
    
       xhr.open('GET', url, true);        // 也可以使用POST方式,根据接口
    
       xhr.responseType = "blob";    // 返回类型blob
    
       // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
    
       xhr.onload = function () {
    
           // 请求完成
    
           if (this.status === 200) {
    
               // 返回200
    
               var blob = this.response;
    
               var reader = new FileReader();
    
               reader.readAsDataURL(blob);    // 转换为base64,可以直接放入a表情href
    
               reader.onload = function (e) {
    
                   // 转换完成,创建一个a标签用于下载
    
                   var a = document.createElement('a');
    
                   a.download = 'data.xlsx';
    
                   a.href = e.target.result;
    
                   $("body").append(a);    // 修复firefox中无法触发click
    
                   a.click();
    
                   $(a).remove();
    
               }
    
           }
    
       };
    
       // 发送ajax请求
    
       xhr.send()
    
    }

     原文链接:https://my.oschina.net/watcher/blog/1525962

  • 相关阅读:
    开启防火墙如何部署k8s
    docker及k8s安装consul
    docker安装rocketmq
    docker安装gitlab
    k8s认证与授权
    部署dashboard
    k8sStatefulSet控制器
    k8sSecret资源
    k8sConfigMap资源
    使用nfs制作动态分配存储卷
  • 原文地址:https://www.cnblogs.com/zyl-Tara/p/9329127.html
Copyright © 2020-2023  润新知