一、如何下载文件 
通过接口下载文件方式这里提供两种方法作为参考:  
下载文件时responseType有两种类型可以指定,根据情况使用  
responseType: 'arraybuffer' 或者 responseType: 'blob'  
方法1:创建a标签实现  
this.axios.post('/export-excel', {}, { responseType: 'blob' }).then(function (res) {
    const url = window.URL.createObjectURL(new Blob([res.data]))
    const link = document.createElement('a')
    link.href = url
    link.setAttribute('download', '导出报表.xlsx')
    document.body.appendChild(link)
    link.click()
})  
方法2:使用 js-file-download 插件  
this.axios
          .post("/permission/Emp", {
            authType: 4,
            systemCode: systemCode
          }, {responseType: 'arraybuffer'})
          .then(res => {
            fileDownload(res.data,  '****授权表模板.xlsx')
          });  
二、下载文件乱码的原因 
现象 
通过postman工具和swagger调用接口下载文件正常,开发环境调用接口下载文件乱码。  
原因 
通过对比开发工具发现请求Initiator不同;当Initiator为mock.js时excel乱码,Initiator为xhr.js时正常;从而得出是mock.js导致的本次问题,注释调mock.js的引用后下载文件正常。  
   
解决办法 
?注释调mock.js的引用。  
                
        
        
    
  
 
 |