NodeJS - 使用" Sequest"检查SFTP远程文件是否存在

时间:2015-10-20 23:42:27

标签: node.js ssh sftp remote-access

我是NodeJS的新手,我正在使用" Sequest"用于读取SFTP远程文件内容的包。它很棒。但是,如果我尝试阅读的文件不存在,则会抛出异常而应用程序不会进一步响应。

所以我想在尝试阅读之前检查文件是否存在。由于我使用了库函数(sequest.get),因为缺少指定的文件,我无法处理库方法中发生的异常。

以下是我的代码:

var reader = sequest.get('xyz@abc', fileName, opts);
    reader.setEncoding('utf8');
    reader.on('data', function(chunk) {
                        return res.send(chunk);
    });

reader.on('end', function() {
    console.log('there will be no more data.');
});

参考:https://coderwall.com/p/fprsjg/fixing-over-65k-methods-limitation-build-error-for-android-on-android-studio

Sequest(https://github.com/mikeal/sequest#gethost-path-opts)是SSH2的封装 - (https://github.com/mikeal/sequest)。

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以收听error事件来处理此类案件。

var reader = sequest.get('xyz@abc', fileName, opts);

reader.setEncoding('utf8');

reader.on('data', function(chunk) {
  return res.send(chunk);
});

reader.on('end', function() {
  console.log('there will be no more data.');
});

reader.on('error', function() {
  console.log('file not found or some other error');
});