【问题标题】:Access files on linux from nodejs with case insensitivity从不区分大小写的nodejs访问Linux上的文件
【发布时间】:2017-11-08 02:18:24
【问题描述】:

我正在从 nodejs 动态访问文件,但是当用户创建一个具有不同大小写(例如 /hello)的目录并尝试使用不同大小写(例如 /Hello)访问它时,我遇到了问题。有没有办法通过nodejs访问linux上的目录,不区分大小写?

【问题讨论】:

  • 那么如果用户创建了两个文件file1.txtFile1.txt,他应该通过GET /FILe1.txt获取哪个文件?
  • 让我们假设他永远不会创建同名文件。

标签: node.js linux filesystems fs


【解决方案1】:

在不区分大小写的文件系统上,您最好的选择可能只是读取请求文件目录中的文件列表并进行不区分大小写的比较。例如:

var requestedPath = '...';
fs.readdir(path.dirname(requestedPath), (err, names) => {
  if (err) throw err;

  var requestedFile = path.basename(requestedPath).toLowerCase();

  for (var i = 0; i < names.length; ++i) {
    if (names[i].toLowerCase() === requestedFilename)
      // do something
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 2020-03-09
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多