名前の純粋なJS実装ファイルのダウンロードと変更

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の');

おすすめ

転載: www.cnblogs.com/5MBPerSec/p/12214968.html