node.js - 如何判断SFTP文件是否是Node.js中的目录?

标签 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 } }

最佳答案

文件的模式包含指示其类型的位。你可以这样检查:

const fs = require('fs');

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

isDir(myfile.attrs.mode);

关于node.js - 如何判断SFTP文件是否是Node.js中的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698901/

相关文章:

javascript - Node - 访问多维数组的最后一个索引

linux - 如何递归查找并列出具有子目录和时间的目录中的最新修改文件

python - "DenseToSparseBatchDataset"设备类型 : "CPU" for unknown op: DenseToSparseBatchDataset

python - 永久启动 python celery 任务 Linux 命令

windows - 覆盖文件实际上会覆盖它吗?

node.js - 我有来自 ffmpeg 的音频数据流,如何在浏览器中播放它?

node.js - 使用 Node 的 http.get 函数获取 ECONNRESET 响应

linux - 使用离线文件系统挂载(OFS+FUSE)

perl - 在 Perl 脚本中使用 File::Find 时忽略整个目录

node.js - Azure Blob 存储 - 上传有进度的文件