HOWTO · JavaScript

JavaScript Crea e salva file

Questo tutorial insegna come creare e salvare file in JavaScript.

In questa pagina

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.