by Sai gowtham

Download a file on button click in React

In this tutorial, we are going to learn about how to download a file on button click in React with the help of an example.

Downloading a file

To download a file on button click, wrap the button element in a <a> tag and add the download attribute to the a tag. So it creates a download link.

Here is an example, which downloads the following twitter image when a user clicks on the button:

import React from "react";

export default function App() {

   return (
     <div className="App">
       <a href="/img/twitter.png" download>
         <button>Dowload image</button>
       </a>
     </div>
   );
}

Similary, you can create a download link for the pdf files like this.

<a href="/files/my-tax.pdf" download>Download Tax Data</a>

Adding the new filenames

We can also add the new filename to a downloaded file by adding a value to the download attribute.

Example:

import React from "react";

export default function App() {

   return (
     <div className="App">
       <a href="/img/fb.png" download="facebook">
          <button>Dowload image</button>
       </a>
     </div>
   );
}

Now, our new downloaded filename will be facebook.png instead of fb.png.

Css Tutorials & Demos

How rotate an image continuously in CSS

In this demo, we are going to learn about how to rotate an image continuously using the css animations.

How to create a Instagram login Page

In this demo, i will show you how to create a instagram login page using html and css.

How to create a pulse animation in CSS

In this demo, i will show you how to create a pulse animation using css.

Creating a snowfall animation using css and JavaScript

In this demo, i will show you how to create a snow fall animation using css and JavaScript.

Top Udemy Courses

JavaScript - The Complete Guide 2022 (Beginner + Advanced)
JavaScript - The Complete Guide 2022 (Beginner + Advanced)
116,648 students enrolled
52 hours of video content
$14.99 FROM UDEMY
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
631,582 students enrolled
49 hours of video content
$24.99 FROM UDEMY
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
203,937 students enrolled
31.5 hours of video content
$14.99 FROM UDEMY