Node.js sftp下载文件

时间:2017-11-06 17:47:38

标签: javascript node.js sftp

我正在使用Node.js从远程服务器中提取文件。我希望能够在我拉出文件路径时随时下载这些文件。我试过了:

连接和提取文件

var Client = require('ssh2-sftp-client');
var sftp = new Client();

var remotePathToList = '/archiveFiles/file.wav';

sftp.connect({
    host: '*******',
    port: '22',
    username: '******',
    password: '******'
}).then(() => {
   res.download(remotePathToList);
}).catch((err) => {
   console.log(err, 'catch error');

但我得到一个“ENOENT:没有这样的文件或目录,stat”C:'/ archiveFiles / file.wav'“。但我试图从远程服务器而不是本地桌面下载这些文件。

1 个答案:

答案 0 :(得分:1)

查看您正在使用的库ssh2-sftp-client的文档。有一个用于检索文件的get方法和一个示例here

以下是一个如何寻找你的例子。

sftp.connect(config).then(() => {  
  sftp.get('/archiveFiles/file.wav').then((data) => {
    var outFile = fs.createWriteStream('file.wav')
    data.on('data',function(response) {
      outFile.write(response);
    });
    data.on('close', function() {
      outFile.close();
    });
  });
})