最近在做異步導出的功能,導出的過程中前端另外啟動一個查詢導出進度的線程接口。如果導出完成后,把生成的文件上傳到服務器,返回給前端一個文件的下載地址;前端自動打開這個地址進行跳轉(zhuǎn)下載。
有兩種方式
1.直接使用js自帶的方式打開鏈接
這種方式有一個問題,會被瀏覽器自動攔截彈出的窗口:”已阻止彈出窗口“,導致用戶下載文件失敗,會認為程序報錯??梢杂梅桨?
window.open(url)
?文章來源:http://www.zghlxwxcb.cn/news/detail-759993.html
2.用代碼創(chuàng)建一個隱藏的a標簽
用代碼創(chuàng)建一個隱藏的a標簽,把下載地址賦值給a標簽的href屬性,然后用js模擬鼠標點擊進行下載文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-759993.html
const link = document.createElement('a'); link.href = url; link.download = 'file.xls'; link.style.display = 'none'; document.body.appendChild(link); link.click(); document.body.removeChild(link);
到了這里,關(guān)于vue 前端自動打開文件地址進行下載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!