Как определить, является ли файл SFTP каталогом в Node.js? - PullRequest
0 голосов
/ 14 февраля 2019

Метод SFTP readdir библиотеки ssh2 возвращает мне все файлы в удаленном каталоге.Как я могу определить, являются ли какие-либо из них каталогами?

Вот некоторые примеры вывода из библиотеки:

{ 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 голосов
/ 14 февраля 2019

Файл mode содержит бит, указывающий, является ли он каталогом.Вы можете проверить это так:

const fs = require('fs');

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

isDir(myfile.attrs.mode);
...