js 請(qǐng)求下載文件接口并下載

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)
  })
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容