axios({ method: 'get', url: '/api/group/export', params: data, headers: { Authentication: localStorage.getItem('token'), Accept: 'application/json' }, responseType: 'blob' }).then(response => { let data = response.data; let fileReader = new FileReader(); fileReader.onload = function() { try { let jsonData = JSON.parse(this.result); // 說明是普通對象數據,后台轉換失敗 if (jsonData.code) { that.$message.error(jsonData.message) } } catch (err) { // 解析成對象失敗,說明是正常的文件流 const blob = new Blob([response.data], {type: 'application/zip'}); const filename = response.headers['content-disposition']; const downloadElement = document.createElement('a'); const href = window.URL.createObjectURL(blob); //創建下載的鏈接 downloadElement.href = href; [downloadElement.download] = [filename.split('=')[1]]; document.body.appendChild(downloadElement); downloadElement.click(); //點擊下載 document.body.removeChild(downloadElement); //下載完成移除元素 window.URL.revokeObjectURL(href); //釋放blob對 } }; fileReader.readAsText(data) }).catch((error) => { })