Home > front end >  Download file on button click jquery
Download file on button click jquery

Time:06-08

Simple question, i think.

I have an html button: <button type="button" >Download</button>.

On click i have to start the download of a file placed in the same folder as the project. I've never used anything to download a file so i have no clue how to do it and i'm not understanding from other question either. Could someone tell me how to do it explaining why i have to do it in a certain way? All of this should be preferable in jquery, but even basic js is fine. Thanks.

CodePudding user response:

using <a> does the job without involving javascript

<a href="./file-path/file-name"  download>Download</a>

The download attribute will force download the viewable content. Otherwise, It will be rendered instead of downloading.

CodePudding user response:

Indeed should do the work for you. To better understand the functionality think of the following function

function DownloadUsingAnchorElement(fileUrl, fileName)
{
  const anchor = document.createElement("a");
  anchor.href = fileUrl;
  anchor.download = fileName;
  document.body.appendChild(anchor);
  anchor.click();
  document.body.removeChild(anchor);
}

Check as well : https://www.w3schools.com/tags/att_a_download.asp

CodePudding user response:

document.querySelector('button').addEventListener('click', () => {
  const link = document.createElement('a')
  link.setAttribute('download', 'filename')
  link.setAttribute('href', './path-to-file/filename.ext')
  link.click()
})

CodePudding user response:

you can also do this way

<button type="button"  id="downloadButton">Download</button>

$(document).ready(function () {
      $("#downloadButton").click(function (e) {
          e.preventDefault();
          window.location.href = "your file path";
      });
});


  • Related