前端axios下載excel文件(二進制)的處理方法
需求:通過后端接口下載excel文件,后端沒有文件地址,返回二進制流文件
實現(xiàn):axios(ajax類似)
主要代碼:
axios:設(shè)置返回數(shù)據(jù)格式為blob或者arraybuffer
如:
var instance = axios.creat({ ... //一些配置 responseType: 'blob', //返回數(shù)據(jù)的格式,可選值為arraybuffer,blob,document,json,text,stream,默認(rèn)值為json })
請求時的處理:
getExcel().then(res => { //這里res.data是返回的blob對象 var blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}); //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet這里表示xlsx類型 var downloadElement = document.createElement('a'); var href = window.URL.createObjectURL(blob); //創(chuàng)建下載的鏈接 downloadElement.href = href; downloadElement.download = 'xxx.xlsx'; //下載后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //點擊下載 document.body.removeChild(downloadElement); //下載完成移除元素 window.URL.revokeObjectURL(href); //釋放掉blob對象 })
總結(jié)
以上所述是小編給大家介紹的前端axios下載excel文件(二進制)的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript+HTML5 canvas實現(xiàn)放大鏡效果完整示例
這篇文章主要介紹了JavaScript+HTML5 canvas實現(xiàn)放大鏡效果,結(jié)合完整實例形式分析了javascript+HTML5 canvas針對圖片元素的獲取、響應(yīng)鼠標(biāo)事件變換元素屬性相關(guān)操作技巧,需要的朋友可以參考下2019-05-05JavaScript(JS) 壓縮 / 混淆 / 格式化 批處理工具
本工具所有的功能實現(xiàn)都是由 ttp://jscompress.sinaapp.com/api 處理.(包括現(xiàn)在可以使用的這個在線壓縮)2010-12-12獲取焦點時,利用js定時器設(shè)定時間執(zhí)行動作
網(wǎng)上有很多類似的知識,并不是有什么難度的技巧,僅僅是開發(fā)過程中的一點點積累而已。2010-04-04JS組件Bootstrap Table表格行拖拽效果實現(xiàn)代碼
這篇文章分享了JS組件Bootstrap Table表格行拖拽效果實現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-12-12基于JavaScript實現(xiàn)跳轉(zhuǎn)提示頁面
這篇文章主要介紹了基于JavaScript實現(xiàn)跳轉(zhuǎn)提示頁面 的相關(guān)資料,需要的朋友可以參考下2016-09-09