如何确定SFTP文件是否是Node.js中的目录?

时间:2019-02-14 20:53:41

标签: node.js linux filesystems sftp

ssh2库的SFTP readdir方法为我提供了远程目录中的所有文件。我怎么知道其中是否有目录?

这是库中的一些示例输出:

{ filename:
     'myfile',
    longname:
     '-rwxr-x---    1 myuser mygroup 19036227 Nov 21 11:05 myfile',
    attrs:
     Stats {
       mode: 33256,
       permissions: 33256,
       uid: 603,
       gid: 1014,
       size: 19036227,
       atime: 1542859216,
       mtime: 1542816340 } }

1 个答案:

答案 0 :(得分:1)

文件的mode包含一点指示它是否是目录。您可以像这样检查它:

const fs = require('fs');

function isDir(mode) {
  return (mode & fs.constants.S_IFDIR) === fs.constants.S_IFDIR;
}

isDir(myfile.attrs.mode);