1.用axios做接口請(qǐng)求。
2.URL.createObjectURL()
靜態(tài)方法會(huì)創(chuàng)建一個(gè) DOMString
,其中包含一個(gè)表示參數(shù)中給出的對(duì)象的URL。這個(gè) URL 的生命周期和創(chuàng)建它的窗口中的 document
綁定。這個(gè)新的URL 對(duì)象表示指定的 File
對(duì)象或 Blob
對(duì)象。
function downFile(url, params) {
axios({
method: 'get',
url,
params,
responseType: 'arraybuffer'
}).then(res => {
let blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
let objectUrl = URL.createObjectURL(blob)
//創(chuàng)建a標(biāo)簽鏈接并點(diǎn)擊 start
let link = document.createElement('a')
link.style.display = 'none';
link.href = objectUrl
if (params.filename) {
link.download = `${params.filename}.xlsx`
}
document.body.appendChild(link);
link.click();
//創(chuàng)建a標(biāo)簽鏈接并點(diǎn)擊 end
document.body.removeChild(link)
window.URL.revokeObjectURL(blob)
})
}