Example 1: download image in nodejs
const request = require('request');
const fs = require('fs');
async function download(url, dest) {
/* Create an empty file where we can save data */
const file = fs.createWriteStream(dest);
/* Using Promises so that we can use the ASYNC AWAIT syntax */
await new Promise((resolve, reject) => {
request({
/* Here you should specify the exact link to the file you are trying to download */
uri: url,
gzip: true,
})
.pipe(file)
.on('finish', async () => {
console.log(`The file is finished downloading.`);
resolve();
})
.on('error', (error) => {
reject(error);
});
})
.catch((error) => {
console.log(`Something happened: ${error}`);
});
}
// example
(async () => {
const data = await download('https://random.dog/vh7i79y2qhhy.jpg', './images/image.jpg');
console.log(data); // The file is finished downloading.
})();
Example 2: download file nodejs
const http = require('http');
const fs = require('fs');
const url = 'www.example.com/image.png'; // link to file you want to download
const path = 'app/assets/my_image_name.xlsx' // where to save a file
const request = http.get(url, function(response) {
if (response.statusCode === 200) {
var file = fs.createWriteStream(path);
response.pipe(file);
}
request.setTimeout(60000, function() { // if after 60s file not downlaoded, we abort a request
request.abort();
});
});
Example 3: nodejs download image from url
var fs = require('fs'),
request = require('request');
var download = function(uri, filename, callback){
request.head(uri, function(err, res, body){
console.log('content-type:', res.headers['content-type']);
console.log('content-length:', res.headers['content-length']);
request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
});
};
download('https://www.google.com/images/srpr/logo3w.png', 'google.png', function(){
console.log('done');
});
Example 4: node js download file to folder
var http = require('http');
var fs = require('fs');
var download = function(url, dest, cb) {
var file = fs.createWriteStream(dest);
var request = http.get(url, function(response) {
response.pipe(file);
file.on('finish', function() {
file.close(cb); // close() is async, call cb after close completes.
});
}).on('error', function(err) { // Handle errors
fs.unlink(dest); // Delete the file async. (But we don't check the result)
if (cb) cb(err.message);
});
};
Example 5: download a file nodejs
const http = require('http');
const fs = require('fs');
const file = fs.createWriteStream("file.jpg");
const request = http.get("http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg", function(response) {
response.pipe(file);
});