NodeJS – 使用“Sequest”检查SFTP远程文件是否存在

我是NodeJS的新手,我使用“Sequest”包来读取SFTP远程文件的内容。 它工作很好。 但是,如果我试图读取的文件不存在,则会抛出exception,应用程序不会进一步响应。

所以我想在读取文件之前检查文件是否存在。 由于我正在使用库函数(sequest.get),因为没有指定文件,我无法处理库方法中发生的exception。

以下是我的代码:

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 : //github.com/mikeal/sequest#gethost-path-opts

Sequest( https://github.com/mikeal/sequest )是SSH2的封装( https://github.com/mscdex/ssh2 )。

任何帮助是极大的赞赏。 谢谢。

你可以听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'); });