【问题标题】:Node.js connect to ftp and download filesNode.js 连接到 ftp 并下载文件
【发布时间】:2017-11-10 06:30:18
【问题描述】:

您好,我下载了这个 npm 模块来连接我的 ftp: node-ftps

连接类

var FTPS = require('ftps');
var ftps = new FTPS({
  host: 'myhost',
  username: 'user',
  password: 'mypw',
  protocol: 'ftp'
});

ftps.exec(function (err, res) {
  console.log();
});

如何检查连接是否成功以及如何从路径中获取所有文件!

尝试添加文件,但出现错误,我什至不知道我是否已连接

【问题讨论】:

    标签: javascript node.js download ftp connection


    【解决方案1】:

    我建议你试试node-ftp,它也支持ftps,虽然node-ftps 做同样的工作,但它缺乏好的文档和示例。

    在这里结帐,

    https://github.com/mscdex/node-ftp

    要设置连接并访问其功能,您只需下载一个名为ftp-client 的节点包装器,它是专门为node-ftp 模块开发的。

    您可以通过发出以下命令来安装此包装器,

    npm install ftp-client
    

    要初始化它,请使用以下命令,

    var ftpClient = require('ftp-client'),
    client = new ftpClient(config, options);
    

    您可以在此处找到完整的示例代码,它将引导您了解我们如何连接到服务器,同时上传 test 目录中的所有文件,仅覆盖服务器上找到的旧文件,并从/public_html/test directory.

    https://github.com/noodny/node-ftp-client#examples

    希望这会有所帮助!

    【讨论】:

    • 是的,很好,谢谢你,至少我可以使用像 ls -lh 这样的原始 cmd 命令吗? :)
    • 两者都未维护,ftp-client 无法下载单个文件,只能下载整个目录
    【解决方案2】:

    我最近尝试了node-ftp,发现连接到一些较新的服务器时出现问题。特别是我无法连接到服务器版本SSH-2.0-1.82_sshlib Globalscape

    ssh2-sftp-client 为我工作。在连接选项中传递debug:yourDebugFunction 参数以获得良好的调试输出。

    https://www.npmjs.com/package/ssh2-sftp-client

    let sftp = new Client();
     
    sftp.connect({
      host: '127.0.0.1',
      port: '8080',
      username: 'username',
      password: '******'
    }).then(() => {
      return sftp.list('/pathname');
    }).then(data => {
      console.log(data, 'the data info');
    }).catch(err => {
      console.log(err, 'catch error');
    });```
    

    【讨论】:

    • 您是否设法使用此软件包从 ftp 而不是 sftp 下载文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多