node js download file to folder

const https = require('https');
const fs = require('fs');
const path = require('path');

const fileUrl = 'https://example.com/sample-file.zip'; // Replace with the actual file URL
const downloadFolder = './downloads'; // Replace with the desired download folder path

// Ensure the download folder exists
if (!fs.existsSync(downloadFolder)) {
  fs.mkdirSync(downloadFolder);
}

const fileName = path.join(downloadFolder, path.basename(fileUrl));

const fileStream = fs.createWriteStream(fileName);

https.get(fileUrl, (response) => {
  response.pipe(fileStream);

  fileStream.on('finish', () => {
    fileStream.close();
    console.log(`File downloaded to: ${fileName}`);
  });
});

fileStream.on('error', (err) => {
  fs.unlinkSync(fileName);
  console.error(`Error downloading file: ${err.message}`);
});