2017-02-24 4 views
0

Im Versuch, Textdateien herunterzuladen, wenn STRG (17) gedrückt wird, funktioniert es gut, aber jetzt funktioniert mein Code, wenn STRG gedrückt wird, dann Attribute zum "Download" Button hinzufügen und dann starten der Download.Herunterladen von Textdatei, wenn STRG gedrückt wird

Es gibt irgendeine Lösung zu tun: wenn STRG gedrückt wird, dann starten Sie den Download ohne Notwendigkeit, Download-Taste zu drücken?

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); 
     } 

Antwort

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

können Sie programmatisch das Element klicken. Sie können dies nach festgelegten Attributen tun.

+0

seine nicht – Achy

+0

arbeiten, was s Fehler, den Sie bekommen? –

+0

Console Show nichts:/ – Achy

0

Wenn jemand Sorge, hier ist die Antwort:

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

Danke btw :)

Verwandte Themen