後臺返回檔案流,前端下載檔案內容亂碼的坑
阿新 • • 發佈:2022-03-16
解決方法:
1、請求時加上響應型別為blob。 responseType: "blob"
2、通過new blob轉碼響應
// 檔案下載 downloadFile(id,opt) { this.$http("fileDownloadPlatform",{ id }, { responseType: "blob", }).then((res) => { console.log(res) let blob = new Blob([res], { type: 'application/pdf' }) let href = URL.createObjectURL(blob) let downloadElement = document.createElement("a"); downloadElement.href = href; downloadElement.download = opt.fileName; document.body.appendChild(downloadElement); downloadElement.click(); document.body.removeChild(downloadElement); }); },