2017-02-24 85 views
0

當按下CTRL(17)時,我試圖下載文本文件,但它的工作正常,但現在我的代碼在按下CTRL時工作,然後將屬性添加到「下載」按鈕,然後啓動下載。按CTRL時下載文本文件

有任何解決方案:當按下CTRL時,開始下載,無需按下「下載」按鈕?

else if (e.originalEvent.keyCode === 17) 
     { 
      var file_name = e.target.innerText; 

      var path = "files/" + file_name; 

      var rawFile = new XMLHttpRequest(); 

      rawFile.open("GET", path, false); 

      rawFile.onreadystatechange = function() 
      { 
       var allText = rawFile.responseText; 

       var fileName = file_name; 
       var myFile = new Blob([allText], {type: 'text/plain'}); 

       window.URL = window.URL || window.webkitURL; 
       document.getElementById('download').setAttribute('href', window.URL.createObjectURL(myFile)); 
       document.getElementById('download').setAttribute('download', fileName); 
      }; 
      rawFile.send(null); 
     } 

回答

0
 var file_name = e.target.innerText; 

     var path = "files/" + file_name; 

     var rawFile = new XMLHttpRequest(); 

     rawFile.open("GET", path, false); 

     rawFile.onreadystatechange = function() 
     { 
      var allText = rawFile.responseText; 

      var fileName = file_name; 
      var myFile = new Blob([allText], {type: 'text/plain'}); 

      window.URL = window.URL || window.webkitURL; 
      document.getElementById('download').setAttribute('href', window.URL.createObjectURL(myFile)); 
      document.getElementById('download').setAttribute('download', fileName); 

      $("#download").click();//click here 

     }; 
     rawFile.send(null); 

您可以單擊該項目編程。您可以在設置屬性後執行此操作。

+0

它不工作 – Achy

+0

你有何錯誤? –

+0

控制檯顯示沒什麼:/ – Achy

0

如果有人照顧,這裏是答案:

document.getElementById("download").click(); 

謝謝BTW :)