JavaScript Crea e salva file

Harshit Jindal 12 ottobre 2023
JavaScript Crea e salva file

Questo tutorial insegna come creare e salvare un file in JavaScript.

È facile creare file e archiviarli sul lato server NodeJS, ma ci sono poche opzioni per farlo sul lato client. In questo tutorial, scriviamo una funzione personalizzata che ci aiuta a creare file utilizzando i dati e quindi a salvarli. Nei browser moderni, otteniamo una funzione chiamata msSaveOrOpenBlob che ci aiuta a salvare un file. Ma nei browser più vecchi, prima generiamo un collegamento al file e poi lo scarichiamo aggiungendo l’attributo download sul tag anchor.

function downloadFiles(data, file_name, file_type) {
  var file = new Blob([data], {type: file_type});
  if (window.navigator.msSaveOrOpenBlob)
    window.navigator.msSaveOrOpenBlob(file, file_name);
  else {
    var a = document.createElement('a'), url = URL.createObjectURL(file);
    a.href = url;
    a.download = file_name;
    document.body.appendChild(a);
    a.click();
    setTimeout(function() {
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url);
    }, 0);
  }
}

Nella funzione sopra, controlliamo se il browser ha il supporto per msSaveOrOpenBlob e, se trovato, lo usiamo per salvare il file. Altrimenti, creiamo un tag di ancoraggio che punta al file creato. Aggiungiamo l’attributo download al tag anchor e alleghiamo quel tag al corpo del documento. Usiamo JavaScript per fare clic su di esso, il che avvia il download e in questo modo salviamo il file. Quindi rimuoviamo quel tag di ancoraggio dal corpo e revochiamo l’URL creato.

Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn