-1

我有一个从我的项目开始的文件夹结构注意 user.hash 和 user 是 MD5 哈希

root/data/${user.hash}/

现在,我需要做的是使用以下命令读取该目录中的文件:

  var companies = fs.readdirSync(`../data/${user}/`);

我也试过

var BASE_FOLDER = path.resolve(__dirname, "..");

  var companies = fs.readdirSync(`${BASE_FOLDER}/data/${user}/`);

在这两种情况下,我都会收到以下错误:

UnhandledPromiseRejectionWarning: Error: ENAMETOOLONG: name too long, scandir '../data/callback => {
                AND HERE MY CODE FOLLOWS

到目前为止我的理解是文件路径字符串太长了?如果我们被限制在特定的路径中,我们如何解决这样的错误......?

4

1 回答 1

3

由于某种原因,它看起来像是user一个函数(取决于它来自哪里/初始化它的位置),并且您在错误消息中看到的../data/callback => { ...是该函数的字符串化版本。

我会仔细检查这user实际上只是用户的字符串标识符。根据您的第一个示例,您不应该使用user.hash吗?

于 2019-06-04T02:04:03.113 回答