Open In App

How to download a file using Node.js?

Last Updated : 29 Jan, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Downloading a file using node js can be done using inbuilt packages or with third party libraries.

Method 1: Using ‘https’ and ‘fs’ module

GET method is used on HTTPS to fetch the file which is to be downloaded. createWriteStream() is a method that is used to create a writable stream and receives only one argument, the location where the file is to be saved. pipe() is a method that reads the data from the readable stream and writes it onto the writable stream.

Javascript




const fs = require('fs');
const https = require('https');
  
// URL of the image
const url = 'GFG.jpeg';
  
https.get(url,(res) => {
    // Image will be stored at this path
    const path = `${__dirname}/files/img.jpeg`; 
    const filePath = fs.createWriteStream(path);
    res.pipe(filePath);
    filePath.on('finish',() => {
        filePath.close();
        console.log('Download Completed'); 
    })
})


    Method 2: Using third party libraries

  1. ‘node-downloader-helper’ Library

    Installation: 

    npm install node-helper-library

      Below is the code for downloading an image from a website. An object dl is created of class DownloadHelper which receives two arguments:

    • The image which is to be downloaded.
    • The path where the image has to be saved after downloading.

    The file variable contains the URL of the image which will be downloaded and filePath variables contain the path where the file will be saved.

    Javascript




    const { DownloaderHelper } = require('node-downloader-helper');
      
    // URL of the image
    const file = 'GFG.jpeg';
    // Path at which image will be downloaded
    const filePath = `${__dirname}/files`; 
      
    const dl = new DownloaderHelper(file , filePath);
      
    dl.on('end', () => console.log('Download Completed'))
    dl.start();

    
    

  2. ‘download’ Library

    Installation:

    npm install download

    Below is the code for downloading an image from a website. The download function receives the file and path of file

    Javascript




    const download = require('download');
      
    // Url of the image
    const file = 'GFG.jpeg';
    // Path at which image will get downloaded
    const filePath = `${__dirname}/files`;
      
    download(file,filePath)
    .then(() => {
        console.log('Download Completed');
    })

    
    

    console output of all the above three codes



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads