1. 程式人生 > 其它 >前端使用 JavaScript 建立並下載檔案

前端使用 JavaScript 建立並下載檔案

技術標籤:JavaScriptjs

HTML5中給a標籤增加了一個download屬性,只要有這個屬性,點選這個連結時瀏覽器就不在開啟連結指向的檔案,而是改為下載(目前只有chrome、firefox和opera支援)。
使用瀏覽器的新API(URL.createObjectURL)URL.createObjectURL通常都是用來建立圖片的DataURI用來顯示圖片,用來下載檔案,讓瀏覽器來設定檔案型別。 URL.createObjectURL的引數是File物件或者Blob物件,File物件也就是通過input[type=file]選擇的檔案,Blob物件是二進位制大物件,用content建立一個ObjectURL並賦值給aLink即可解決檔案型別的限制問題。

/**
 * 建立並下載檔案
 * @param  {String} fileName 檔名
 * @param  {String} content  檔案內容
 */
function createAndDownloadFile(fileName, content) {
    var aTag = document.createElement('a');
    var blob = new Blob([content]);
    aTag.download = fileName;
    aTag.href = URL.createObjectURL(blob);
    aTag.click
(); URL.revokeObjectURL(blob); }

呼叫方法,傳入檔名和檔案內容,程式新建 a 標籤,新建 Blob 物件,將檔名賦給 a 標籤,同時將 Blob 物件作為 Url 也賦給 a 標籤,模擬點選事件,自動下載成功,最後再回收記憶體。