DEV Community

Alex Blinov
Alex Blinov

Posted on • Originally published at jetrockets.pro

How to download files with Axios

A simple example using the Blob() constructor:

export function someFunction(values) {
  return (dispatch) => {
    ...
    const method = 'GET';
    const url = 'http://go.api/download_file';
    ...
    axios
      .request({
        url,
        method,
        responseType: 'blob', //important
      })
      .then(({ data }) => {
        const downloadUrl = window.URL.createObjectURL(new Blob([data]));
        const link = document.createElement('a');
        link.href = downloadUrl;
        link.setAttribute('download', 'file.zip'); //any other extension
        document.body.appendChild(link);
        link.click();
        link.remove();
      });
  };
}
Enter fullscreen mode Exit fullscreen mode

Latest comments (1)

Collapse
 
msorok profile image
Maria Sorokina

Hi! Thank you very much for this solution!
Is there a way to, instead of downloading the file, put it in a variable to send it to the server side? Thanks!