vue實現word或pdf文檔導出的功能,我的項目是:后端返回一個文檔流(下圖),然后前端對文檔流做處理進行下載,代碼如下:
import axios from 'axios'; axios.get(`url`, { //url: 接口地址 responseType: `arraybuffer` //一定要寫 }) .then(res => { if(res.status == 200){ let blob = new Blob([res.data], { type: `application/msword` //word文檔為msword,pdf文檔為pdf }); let objectUrl = URL.createObjectURL(blob); let link = document.createElement("a"); let fname = `我的文檔`; //下載文件的名字 link.href = objectUrl; link.setAttribute("download", fname); document.body.appendChild(link); link.click(); }else { this.$message({ type: "error", message: "導出失敗" }) } });
