javascript - Node.js sftp 下载文件

标签 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'”。但是我正在尝试从远程服务器而不是我的本地桌面下载这些文件。

最佳答案

查看您正在使用的库的文档 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();
    });
  });
})

关于javascript - Node.js sftp 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47142824/

相关文章:

javascript - 如何获取浏览器窗口的高度,然后将 div 的高度设置为该值

javascript - 当从 Node js 应用程序发生插入时,插入触发器不起作用

node.js - 如何编译 JSX 服务器端

java - 使用 JSch 中的密码加密的 key 进行身份验证

batch-file - 仅用于 SFTP 上传特定扩展的 Bat 脚本

azure - ADF 中的复制数据事件创建奇怪的临时文件名

javascript - 如何将react-show-more更多或更少文本自定义为Material-UI图标

javascript - 每个按钮都会打开一个特定的模态

javascript - 如何干净地处理 nextjs getStaticProps 中的错误

javascript - promise 链中基于 NodeJS 回调函数的执行顺序错误