节点js,PromiseFtp。如何下载目录的所有文件,然后从ftp中删除它们

时间:2016-05-05 15:23:44

标签: javascript node.js ftp

我是Node.js的菜鸟。我尝试使用PromiseFtp

从目录下载所有文件

但我有一个问题。我不知道如何开始下载文件。我接下来做了:

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();
  });

现在我有了文件列表。但我不知道自己该做什么。下载后我必须删除ftp中的所有文件。

请。帮帮我

1 个答案:

答案 0 :(得分:0)

这是下载的示例:

  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();
  });

您可以使用delete功能删除

  

delete(path):删除路径中的文件。退回的承诺   解析为undefined。

尝试编写下载功能而不是console.log以及下载/存储代码调用delete的回调。