js 下载文件到本地

//将数据对象拼装成url param 格式
function obj2keyVal(data){
     var arr=[]
     for(var da in data){
       arr.push(da+"="+data[da])
       }
      var str = arr.join("&"); 
        return str
       }
var xhr = new XMLHttpRequest();
xhr.open("post","url",true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.responseType = 'blob';//设置返回的数据类型为 blob 
xhr.onreadystatechange=state_Change;
function state_Change()
 {
 if (xhr.readyState==4)
 {// 4 = "loaded"
 if (xhr.status==200)
 {
    var blob=new Blob([xhr.response],{type:"application/vnd.ms-excel"});//将返回的数据包装成blob(方法的具体使用参考mdn)
    //创建a 
    var alink = document.createElement("a");
        alink.download="test.xlsx";
        alink.href=URL.createObjectURL(blob);//根据blob 创建 url
        alink.click(); 自动点击
  }else{
  alert("Problem retrieving XML data");
 }
}
}
xhr.send(obj2keyVal({}))

猜你喜欢

转载自blog.csdn.net/wangzhikui1/article/details/70196810
今日推荐