首頁  >  文章  >  後端開發  >  JS建立html瀏覽器匯出下載的方法

JS建立html瀏覽器匯出下載的方法

小云云
小云云原創
2018-03-17 10:54:151595瀏覽

本文主要跟大家分享JS創建html瀏覽器匯出下載的方法,主要使用的html5的download屬性和Blob,希望能幫助大家。

URL.createObjectURL

URL.createObjectURL()方法會根據傳入的參數建立一個指向該參數物件的URL. 這個URL的生命僅存在於它被建立的這個文件裡. 新的物件URL指向執行的File物件或是Blob物件.

objectURL = URL.createObjectURL(blob || file);1

File物件或Blob物件 
這裡大概說下File物件和Blob物件: 
File物件,就是一個檔案,比如我用input type=」file」標籤來上傳檔案,那麼裡面的每個檔案都是一個File物件. 
Blob物件,就是二進位資料,例如透過new Blob()建立的物件就是Blob物件.又例如,在XMLHttpRequest裡,如果指定responseType為blob,那麼得到的傳回值也是一個blob物件. 
*注意 
每次呼叫createObjectURL的時候,一個新的URL物件就被建立了.即使你已經為同一個檔案建立過一個URL. 如果你不再需要這個物件,要釋放它,需要使用URL.revokeObjectURL()方法. 當頁面被關閉,瀏覽器會自動釋放它,但是為了最佳性能和內存使用,當確保不再用得到它的時候,就應該釋放它.

URL.revokeObjectURL

URL.revokeObjectURL()方法會釋放一個透過URL.createObjectURL()建立的物件URL. 當你要已經用過了這個物件URL,然後要讓瀏覽器知道這個URL已經不再需要指向對應的檔案的時候,就需要調用這個方法. 
具體的意思就是說,一個對象URL,使用這個url是可以訪問到指定的文件的,但是我可能只需要訪問一次,一旦已經訪問到了,這個對象URL就不再需要了,就被釋放掉,被釋放掉以後,這個對象URL就不再指向指定的文件了. 
#比如一張圖片,我創建了一個對象URL,然後通過這個對象URL,我頁面裡面載入了這張圖.既然已經被載入,並且不需要再載入這張圖,那我就把這個物件URL釋放,然後這個URL就不再指向這張圖了.

window. URL.revokeObjectURL(objectURL);1

下載檔案方法

var funDownload = function (content, filename) {
    var eleLink = document.createElement('a');
    eleLink.download = filename;
    eleLink.style.display = 'none';    // 字符内容转变成blob地址
    var blob = new Blob([content]);
    eleLink.href = URL.createObjectURL(blob);    // 触发点击
    document.body.appendChild(eleLink);
    eleLink.click();    // 然后移除
    document.body.removeChild(eleLink);
};

相關推薦:

##html瀏覽器顯示亂碼_html/css_WEB-ITnose

以上是JS建立html瀏覽器匯出下載的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn