關於后台返回的文件流下載方法


1.開發中一直使用的插件來做的var fileDownload = require('js-file-download'),但是發現safari下載不了 於是更改方法

2.

this.$axios({
                    method: 'post',
                    url: '/api/market/exportEmployee.do',
                    // headers里面設置token
                    headers: {
                      'Content-Type': 'application/json',
                      // "token":window.sessionStorage.getItem('token')
                    },
                    data: {
                        'department_id': parseInt(window.sessionStorage.getItem("departmentId")),
                          'startTime': this.date +'-1',
                          'endTime': this.date +'-31'
                    },
                    // 二進制流文件,一定要設置成blob,默認是json
                    responseType: 'blob'

                }).then(res => {
                    console.log(res)
                    if(!res.data){
                               return
                           }
                           var name = this.date + "月" + this.departmentName +"銷售分析統計.xls";
                           var blob = new Blob([res.data]);
                           var url = window.URL.createObjectURL(blob);
                           var aLink = document.createElement("a");
                           aLink.style.display = "none";
                           aLink.href = url;
                           aLink.setAttribute("download", name);
                           document.body.appendChild(aLink);
                           aLink.click();
                           document.body.removeChild(aLink); //下載完成移除元素
                           window.URL.revokeObjectURL(url); //釋放掉blob對象
                  })

  


免責聲明!

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



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