前端axios下載excel文件(二進(jìn)制)的處理方法
更新時間:2018年07月31日 09:47:00 作者:薛將軍
新接了項目,遇到這樣的需求,通過后端接口下載excel文件,后端沒有文件地址,返回二進(jìn)制流文件。接下來通過實例代碼給大家分享前端axios下載excel文件(二進(jìn)制)的處理方法,一起看看吧
需求:通過后端接口下載excel文件,后端沒有文件地址,返回二進(jìn)制流文件
實現(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文件(二進(jìn)制)的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
js面向?qū)ο笾?、私有、靜態(tài)屬性和方法詳解
這篇文章主要詳細(xì)介紹了js面向?qū)ο笾小⑺接?、靜態(tài)屬性和方法,并附上詳細(xì)的示例,非常的細(xì)致全面,這里推薦給大家,有需要的小伙伴可以參考下2015-04-04
一文搞懂JavaScript中bind,apply,call的實現(xiàn)
bind、call和apply都是Function原型鏈上面的方法,因此不管是使用function聲明的函數(shù),還是箭頭函數(shù)都可以直接調(diào)用。本文就帶你看看如何實現(xiàn)bind、call和apply2022-06-06

