Node.js连接到ftp并下载文件

Ale*_*lex 4 javascript ftp connection download node.js

你好我下载了这个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();
});
Run Code Online (Sandbox Code Playgroud)

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

试图添加一个文件,但得到一个错误,我甚至不知道我是否连接

Dav*_*d R 9

我会建议你尝试node-ftp哪些支持ftps,虽然node-ftps做同样的工作,但缺乏良好的文档和示例.

在这里结账,

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

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

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

npm install ftp-client
Run Code Online (Sandbox Code Playgroud)

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

var ftpClient = require('ftp-client'),
client = new ftpClient(config, options);
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到一个完整的示例代码,它将指导您如何连接到服务器,同时上传test目录中的所有文件,仅覆盖服务器上的旧文件,以及从中下载文件/public_html/test directory.

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

希望这可以帮助!

  • 两者均未维护,ftp-client 无法下载单个文件,只能下载整个目录 (2认同)

Dmi*_*117 6

我最近尝试过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');
});```
Run Code Online (Sandbox Code Playgroud)