post下載文件到本地-兼容ie


一般下載都是給一個下載文件地址
然后前端拿到這個絕對路徑
a鏈接打開就是下載是吧

但是有些后端,偏偏就是用post接口,返回一個二進制文件流
可能這樣不用寫入本地(服務器)吧。
不用清理管理和維護

 

 

 解決辦法

// 導出excel
  function postExcelFile(data, url) {
    var form = document.createElement('form'); //創建form標簽
    form.setAttribute("style","display:none");
    form.setAttribute("method","post");//設置請求方式
    var exportData = ''  //設置發送后台數據
    for(var key in data){
      if(data.hasOwnProperty(key)){
        if (data[key]) {
          exportData += key + '=' + data[key] + '&'
        }
      }
    }
    form.setAttribute("action",baseUrl+url+"?"+exportData); //action屬性設置請求路徑
    document.body.appendChild(form); //頁面添加form標簽
    
    var input1 = document.createElement("input") //創建input標簽
    input1.setAttribute("type","hidden") //設置隱藏域
    
    form.appendChild(input1);
    form.submit();//表單提交即可下載!
    document.body.removeChild(form); //頁面刪除form標簽
  }

/**
   * 點擊導出按鈕
   * @param obj 導出的數據
   */
  $('.export').click(function(e) {
     postExcelFile(param,exportUrl); //param為from Data格式的參數,exportUrl為請求地址
  }        

 

 

ie8是支持的,現代瀏覽器就更不用說了

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM