1.<a>標簽
<a> 標簽定義超鏈接,用於從一張頁面鏈接到另一張頁面。<a> 元素最重要的屬性是 href 屬性,它指示鏈接的目標。HTML5 提供了一些新屬性,其中有一個download屬性挺有意思的,有了這個屬性我們就可以用<a>標簽實現文件的下載了。
<!-- href指示文件路徑,download屬性定義a標簽下載功能,屬性值可以更改文件名 -->
<div>
<a href="/static/tem.xlsx" download="自定義文件名">下載</a>
</div>
href指示文件路徑,download屬性定義a標簽下載功能,屬性值可以更改文件名;
<a>標簽下載擴展名.img, .pdf, .txt, .html等格式的文件也都是沒有問題的;
下載靜態文件時,有時我們會遇到下載提示“找不到文件”的問題,所以這里href文件的路徑盡量放在根目錄下的static或者public文件夾下;
2.window.location.href = "文件路徑"
與<a>標簽不同的是,<a>點擊后立即下載,window.location.href可以封裝在方法中,在需要時下載
3.前面兩種方法在下載圖片一類文件時會出現預覽,而不想預覽直接下載的話可以采取如下方式
download() { var request = new XMLHttpRequest(); request.responseType = "blob"; let fileUrl = this.qr; // 文件路徑
request.open("GET", fileUrl); request.onload = function () { var url = window.URL.createObjectURL(this.response); var a = document.createElement("a"); document.body.appendChild(a); a.href = url; a.download = "二維碼"; a.click(); } request.send(); }