1 / * 2 * BLOBを取得します 。3 、ターゲットファイルの* {文字列} URLアドレス 。4 *} {CBに格納されたコールバックをダウンロードした 。5 * / 6 関数のgetBlob(URL、CB){ 7。 VAR =新しい新しいXHRのXMLHttpRequest(); 8 XHR .Open( 'GET'、真のURL); 9 xhr.responseType = 'BLOB'; 10 xhr.onload =関数(){ 11 IF(=== 200 xhr.statusある){ 12は CB(xhr.response)。 13は } 14 }; 15 xhr.send()。 16 } 17 18 / ** 19 *保存 20 * {ブロブ}ブロブ 21 * {文字列}ファイル名想要保存的文件名称 22 * / 23 機能のsaveAs(BLOBファイル名){ 24 IF(window.navigator.msSaveOrOpenBlob){ 25 navigator.msSaveBlob(BLOBファイル名)。 26 }他{ 27 VARリンク=のdocument.createElement( '')。 28 VAR本体= document.querySelector( 'ボディ')。 29 30 link.href = window.URL.createObjectURL(BLOB)。 31は link.download =ファイル名; 32 33である // FIXのFirefox 34であり ; link.style.display = 'なし' 35 body.appendChild(リンク); 36 37 [ link.click(); 38である body.removeChild(リンク) 39 40 window.URL.revokeObjectURL(link.href); 41である }; 42がある } 43で 44ある / ** 45 *ダウンロード 46され 、{StringオブジェクトのアドレスURL} * 47 *} {文字列ファイル名は、ファイル名保存する 48 * / 49 機能のダウンロード(URL、ファイル名){ 50 のgetBlob(URL、関数(BLOB){ 51件 のsaveAs(BLOBファイル名); 52 })。 53 }。
使用します。
ダウンロード(URL、 'test.txtの');