欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

下载文件需要在Header添加中加Authorization放token时可用 POST方式 下载 POST TOKRN 

程序员文章站 2022-06-03 22:00:04
...

 

 function toExport(){

var province = $("#province option:selected").text();

var city = $("#city option:selected").text();

var county = $("#county option:selected").text();

var name = $("#names").val();

var currencyName = $("#nor_name").val();

var observationLayer = $("#level").val();

var checkStatus = $("#status").val();

if(province=="请选择省"||province=="请选择省份"){

province=""

    }

    if(city=="请选择市"){

city=""

    }

    if(county=="请选择"||county=="请选择区/县"){

county=""

    }

var url = ip + "/station/export";

var data =encodeFormData({

            province:province,

city:city,

county:county,

currencyName:currencyName,

name:name,

observationLayer:observationLayer,

checkStatus:checkStatus

    }) ;

var xhr = new XMLHttpRequest();

              xhr.open("post", url, true);

     xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')

              xhr.responseType = "blob";

              xhr.setRequestHeader('Authorization',"Bearer " + store.get("access_token"));

              xhr.onload = function () {

 

                  if (this.status == 200) {

                      var blob = this.response;

                      var reader = new FileReader();

                      reader.readAsDataURL(blob);

                      reader.onload = function (e) {

                          var a = document.createElement('a');

                          a.download = "台站数据"+"."+"xls";

                          a.href = e.target.result;

                          document.body.appendChild(a);

                          a.click();

                          document.body.removeChild(a);

                      }

                  }

              };

              xhr.send(data);

}

 

//封装data

function encodeFormData(data){

    if(!data) return '';

    var pairs = [];

    for(var name in data){

        if(!data.hasOwnProperty(name)) continue;

        if(typeof data[name] === 'function') continue;

        var value = data[name].toString();

        name = encodeURIComponent(name.replace('%20','+'));

        value = encodeURIComponent(value.replace('%20','+'));

        pairs.push(name+'='+value);

    }

    return pairs.join('&');

}

 

相关标签: 下载 POST TOKRN