const res = await this.$axios({ method: 'get', url: ``, headers: {}, responseType: 'blob', }) const blob = new Blob([res.data], { type: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', }) const downloadElement = document.createElement('a') const href = window.URL.createObjectURL(blob) downloadElement.style.display = 'none' downloadElement.href = href downloadElement.download = row.fileName //下載后文件名 document.body.appendChild(downloadElement) downloadElement.click() //點擊下載 document.body.removeChild(downloadElement) //下載完成移除元素 window.URL.revokeObjectURL(href) //釋放掉blob對象
注意:設置 responseType: "blob" 無效時
解決辦法:
mock模塊會影響原生的ajax請求,使得服務器返回的blob類型變成亂碼