How to download a file using Node.js?
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' ); }) }) |
- ‘node-downloader-helper’ Library
Installation:
npm install node-helper-library
- The image which is to be downloaded.
- The path where the image has to be saved after downloading.
Below is the code for downloading an image from a website. An object dl is created of class DownloadHelper which receives two arguments:
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();
- ‘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
Method 2: Using third party libraries
Please Login to comment...