Pour télécharger des fichiers en utilisant curl dans Node.js, vous devrez utiliser le module child_process de Node. Vous devez appeler curl en utilisant la méthode spawn de child_process. pour cela j'utilise spawn au lieu d'exec pour des raisons de commodité - spawn retourne un flux avec un événement data et n'a pas de problème de taille de buffer contrairement à exec. Cela ne signifie pas que exec est inférieur à spawn; en fait, nous allons utiliser exec pour télécharger des fichiers en utilisant wget.
// Function to download file using curl
var download_file_curl = function(file_url) {
// extract the file name
var file_name = url.parse(file_url).pathname.split('/').pop();
// create an instance of writable stream
var file = fs.createWriteStream(DOWNLOAD_DIR + file_name);
// execute curl using child_process' spawn function
var curl = spawn('curl', [file_url]);
// add a 'data' event listener for the spawn instance
curl.stdout.on('data', function(data) { file.write(data); });
// add an 'end' event listener to close the writeable stream
curl.stdout.on('end', function(data) {
file.end();
console.log(file_name + ' downloaded to ' + DOWNLOAD_DIR);
});
// when the spawn child process exits, check if there were any errors and close the writeable stream
curl.on('exit', function(code) {
if (code != 0) {
console.log('Failed: ' + code);
}
});
};
syntaxe extrait parfait. J'ai téléchargé toutes les images dans mon dossier local. – Kirankamana
Bon à savoir! :) – AdityaParab