如果没有手动创建读/写流并自己有效地复制代码,是否有一种使用Node复制sftp文件夹中的文件的简单方法?我已经检查了第三方库,并且有很多简单的方法可以将本地文件复制到sftp站点。但我想到的是连接到sftp,然后理想地使用库来发出一个简单的命令,例如"复制文件A并将其重命名为B",而不必下载文件。
答案 0 :(得分:0)
有一个名为ssh2的模块。我认为这就是你所需要的。
https://github.com/mscdex/ssh2
阅读文档有很多例子。
如何获取目录列表
的示例var Client = require('ssh2').Client;
var conn = new Client();
conn.on('ready', function() {
console.log('Client :: ready');
conn.sftp(function(err, sftp) {
if (err) throw err;
sftp.readdir('foo', function(err, list) {
if (err) throw err;
console.dir(list);
conn.end();
});
});
}).connect({
host: '192.168.100.100',
port: 22,
username: 'frylock',
password: 'nodejsrules'
});
另请参阅方法fastPut
和fastGet
https://github.com/mscdex/ssh2-streams/blob/master/SFTPStream.md#sftpstream-static-constants
希望这有帮助。