這篇文章主要介紹了JavaScript實現(xiàn)文件下載并重命名代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網營銷推廣、網站重做改版、五河網站定制設計、自適應品牌網站建設、H5建站、商城開發(fā)、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為五河等各大城市提供網站開發(fā)制作服務。
第一種是HTML官網中的方法
<a href="/images/liang.jpg" rel="external nofollow" download="文件名稱">
HTML5 中 a 標簽提供了一個 filename 屬性,可以下載成指定的 download 屬性名稱
這種同源訪問是沒有問題的,但一跨域就不行了,試了其它方法,不是報跨域錯誤,就是在當前頁面打開文件,體驗相當不好。
第二種方案比較通用
/** * 獲取 blob * url 目標文件地址 */ function getBlob(url) { return new Promise(resolve => { const xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = () => { if (xhr.status === 200) { resolve(xhr.response); } }; xhr.send(); }); } /** * 保存 blob * filename 想要保存的文件名稱 */ function saveAs(blob, filename) { if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, filename); } else { const link = document.createElement('a'); const body = document.querySelector('body'); link.href = window.URL.createObjectURL(blob); link.download = filename; // fix Firefox link.style.display = 'none'; body.appendChild(link); link.click(); body.removeChild(link); window.URL.revokeObjectURL(link.href); } } /** * 下載 * @param {String} url 目標文件地址 * @param {String} filename 想要保存的文件名稱 */ function download(url, filename) { getBlob(url).then(blob => { saveAs(blob, filename); }); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享標題:JavaScript實現(xiàn)文件下載并重命名代碼實例
URL網址:http://aaarwkj.com/article40/iggseo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、、定制開發(fā)、網站改版、企業(yè)網站制作、服務器托管
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)