之前的代碼 使用FileReader 讀取流文件 會受到chrome瀏覽器的文件傳輸的大小限制;
現在改為
URL.createObjectURL 方法導出 不受chrome瀏覽器文件傳輸限制
let xhr = new XMLHttpRequest(); xhr.open("GET", url, true); // 也可以使用POST方式,根據接口 xhr.responseType = "blob"; // 返回類型blob,XMLHttpRequest支持二進制流類型 xhr.onload = function() { if (this.status === 200) { let blob = this.response; //使用response作為返回,而非responseText const objectURL = URL.createObjectURL(new Blob([blob], { type: 'text/xls' })) // chrome不受文件你大小限制導出文件 // let reader = new FileReader(); // reader.readAsDataURL(blob); // 轉換為base64,可以直接放入a標簽href // objectURL.onload = function(e) { // 轉換完成,創建一個a標簽用於下載 let a = document.createElement("a"); a.download = "xxxxxx.xlsx"; a.href = objectURL a.click(); layer.msg('下載成功'); // }; } else { layer.msg('下載失敗'); } };