2016-05-05 2 views
1

Ich bin noob in Node.js. Ich versuche, alle Dateien aus dem Verzeichnis mit PromiseFtpKnoten js, PromiseFtp. Wie man alle Dateien des Verzeichnisses herunterlädt und sie dann von ftp löscht

herunterladen, aber ich habe ein Problem. Ich weiß nicht, wie ich anfangen soll, Dateien herunterzuladen. Mache ich als nächstes:

var ftp = new PromiseFtp(); 
    ftp.connect({host: '------', user: '----------', password: '------------'}) 
    .then(function (serverMessage) { 
    console.log('Server message: '+serverMessage); 
    return ftp.list('/'); 
    }).then(function (list) { 
    list.forEach(function (element, index, array) { 
     if (element.name !== '..' && element.name !== '.'){ 
      console.log(element.name) 
     } 
    }) 

    }).then(function() { 
    return ftp.end(); 
    }); 

Jetzt habe ich eine Liste von Dateien. Aber ich weiß nicht, was ich tun soll. Nach dem Download muss ich alle Dateien von ftp löschen.

Bitte. Helfen Sie mir

Antwort

0

Dies ist ein Beispiel für das Herunterladen:

var PromiseFtp = require('promise-ftp'); 
    var fs = require('fs'); 

    var ftp = new PromiseFtp(); 
    ftp.connect({host: host, user: user, password: password}) 
    .then(function (serverMessage) { 
    return ftp.get('foo.txt'); 
    }).then(function (stream) { 
    return new Promise(function (resolve, reject) { 
     stream.once('close', resolve); 
     stream.once('error', reject); 
     stream.pipe(fs.createWriteStream('foo.local-copy.txt')); 
    }); 
    }).then(function() { 
    return ftp.end(); 
    }); 

Und Sie können löschen Sie die delete-Funktionalität:

löschen (Pfad): Löscht die Datei auf Pfad. Zurückgegebenes Versprechen wird in undefiniert aufgelöst.

Versuchen Sie, die Download-Funktionalität, anstatt dass console.log und auf den Rückruf des Download/Speicher Coderuf delete zu schreiben.

+0

Ja, so etwas. Sie iterieren den Satz von Dateien und rufen für jedes Element ftp.get() auf. Im Callback von jedem speichern Sie es und nach dem Speichern, aber vor ftp.end, können Sie es entfernen. –

+0

Es tut mir leid, aber ich kann es immer noch nicht tun. Das Skript läuft gut, aber Dateien nicht herunterladen – user2497209

+0

@ user2497209, sind Sie sicher, dass Sie versuchen, das auf dem richtigen Weg zu tun? Sind Sie sicher, dass Sie über die erforderlichen Berechtigungen zum Lesen verfügen? –