2017-12-06 1 views
0

Ich versuche, einige Dateien mit SFTP in Node herunterladen. Ich weiß, dass ich mit dem Stream umgehen muss, aber ich bin mir nicht sicher, wie ich das machen und die Datei auf meinem lokalen Rechner (im Download-Ordner) speichern soll.wie Datei mit SFTP in Knoten vom Browser herunterladen

app.get('/download', (req, res) => { 
    var Client = require('ssh2-sftp-client'); 
    var sftp = new Client(); 

    var config = { 
     host: 'host123', 
     port: '22', 
     username: 'username', 
     password: 'secretpassword' 
    }; 

    sftp.connect(config).then((data) => { 
     res.download(data); 
    }); 
}); 

Vielen Dank!

Antwort

0

Referenz Download a file from NodeJS Server using Express

sftp.connect ermöglicht es Ihnen, Daten zu streamen. Sie können über die Pipeline es zur Antwort

app.get('/download', (req, res) => { 
       var Client = require('ssh2-sftp-client'); 
       var sftp = new Client(); 

    var config = { 
      host: 'host123', 
      port: '22', 
      username: 'username', 
      password: 'secretpassword' 
    }; 

    sftp.connect(config) 
    .then(()=>{ 
     return sftp.get(remoteFilePath, [useCompression], [encoding]); 
    }) 
    .then((data) => { 
      fs.createWriteStream(data).pipe(res); 
    }); 
}); 
+0

Ich erhalte eine "(node: 14796) UnhandledPromiseRejectionWarning: Unbehandelte Versprechen Ablehnung (Ablehnung ID: 1): Typeerror: Pfad ein String oder Buffer sein muss". –

+0

check updates antwort – shivshankar

+0

Ich habe den 'remoteFilePath' an den Speicherort der Datei geändert, die ich zu bekommen versuche, aber als ich das tat, bekam ich einen Fehlercode' (node: 7952) UnhandledPromiseRejectionWarning: Unbehandelte Versprechen Ablehnung (Ablehnungs-ID: 1) : ReferenceError: useCompression ist nicht definiert. –

Verwandte Themen