How to make JavaScript download

Learn how to make your JavaScript loading faster with an example.

Downloading a File using JavaScript

JavaScript can be used to download files, or more specifically, to trigger the download of a file. This can be done in a variety of ways, but the most common is to use the "a" element, or anchor tag.

The anchor tag can be used to trigger a download of a file by setting the href attribute to the URL of the file. The download attribute can also be used to specify the filename that will be used when the file is downloaded. The following example shows how to link to a PDF file, and specify the filename that will be used when the file is downloaded:


<a href="myfile.pdf" download="my-filename.pdf">Download File</a>

This will cause the file to be downloaded with the specified filename, when the user clicks the link.

Another way to trigger a file download is to use the JavaScript window.open() method. The window.open() method will open a new window, and the URL of the file can be specified as the parameter. The following example shows how to open a PDF file in a new window:


window.open("myfile.pdf");

This will open a new window, and the PDF file will be displayed in the window. The user can then save the file, or view it in the browser window.

Another way to trigger a file download is to use the JavaScript XMLHttpRequest object. The XMLHttpRequest object can be used to make a request to a server, and the server can then return the file for download. The following example shows how to request a PDF file from a server, and then trigger the download:


var xhr = new XMLHttpRequest();
xhr.open('GET', 'myfile.pdf');
xhr.responseType = 'blob';
xhr.onload = function() {
  var blob = xhr.response;
  var link = document.createElement('a');
  link.href = window.URL.createObjectURL(blob);
  link.download = 'my-filename.pdf';
  link.click();
};
xhr.send();

The above example will make an XMLHttpRequest to the specified URL, and when the response is received, it will trigger a download of the file with the specified filename.

These are just a few examples of how to use JavaScript to trigger a file download. There are other ways to do this, but these examples should provide a good starting point for developers.

Answers (0)