我正在使用ftps模块,并且我已经在Cygwin上安装了lftp。我遇到了麻烦,因为我的节点js app看起来很好,但我的命令都没有运行。该模块的文档不是非常详细,所以我一直在尝试尽我所能来运行。我想从ftp网站上获取文件。
这是我的代码:
var ftps = require('ftps');
// ftps connection
var ftp = new ftps ({
host: 'test.ftpsite.com',
username: 'test',
password: 'test',
protocol: 'sftp'
});
// look at remote directory
console.log(ftp);
ftp.cd('TestDir/').get('/UploadTest.txt', '/cygdrive/c/Users/Administrator/UploadTest.txt').exec(console.log);
输出:
CMO-Application-Server>node app.js
{ options:
{ host: 'test.ftpsite.com',
username: 'test',
password: 'test' },
cmds: [] }
在输出的这一点上,应用程序只是挂起来试图运行命令。我现在已经让它运行了大约10分钟但仍然没有。
答案 0 :(得分:1)
对于sftp,您可以使用ssh2模块执行此操作:
var Connection = require('ssh2');
var ssh = new Connection();
ssh.on('ready', function() {
ssh.sftp(function(err, sftp) {
if (err) throw err;
sftp.fastGet('TestDir/UploadTest.txt',
'/cygdrive/c/Users/Administrator/UploadTest.txt',
function(err) {
if (err) throw err;
ssh.end();
});
});
}).connect({
host: 'test.ftpsite.com',
port: 22,
username: 'test',
password: 'test'
});