Come effettuare il download di un file remoto con Node.js

Come effettuare il download di un file remoto con Node.js

Node.js è un ambiente di runtime JavaScript che consente agli sviluppatori di creare applicazioni server-side altamente performanti. Una delle operazioni comuni in Node.js è il download di file remoti da Internet. Questo può essere utile per scaricare immagini, file di configurazione, documenti o qualsiasi altro tipo di risorsa disponibile online. In questo articolo, ti guideremo attraverso i passaggi per effettuare il download di un file remoto utilizzando Node.js.

Si tratta di reindirizzare il buffer di byte ricevuto da una richiesta GET verso uno stream che andrà a creare il file nel file system locale. Ossia:


'use strict';

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

const fileUrl = 'https://site.tld/file.pdf'; // Sostituisci con l'URL reale del file
const downloadPath = './file.pdf'; // Specifica il percorso e il nome del file scaricato

const fileStream = fs.createWriteStream(downloadPath);

https.get(fileUrl, response => {
  response.pipe(fileStream); // Pipe sullo stream di scrittura
	
  fileStream.on('finish', () => {
    fileStream.close();
    console.log(`Il file è stato scaricato con successo in ${downloadPath}`);
  });

}).on('error', err => {
  fs.unlink(downloadPath, () => {}); // Elimina il file in caso di errore
  console.error(`Errore durante il download del file: ${err.message}`);
});

Il file remoto verrà scaricato nella posizione specificata nel codice e riceverai una conferma nell'output del terminale.

Ora hai una solida base per effettuare il download di file remoti con Node.js. Puoi espandere questo codice aggiungendo funzionalità come la gestione degli errori o il download di più file in sequenza. Conoscere queste tecniche è utile per sviluppare applicazioni che richiedono l'accesso a risorse esterne su Internet.

Torna su