Имя Node.js слишком длинное, scandir - PullRequest
0 голосов
/ 04 июня 2019

У меня есть структура папок, которая запускается в моем проекте Обратите внимание, что 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

До сих пор я понял, что строка пути к файлу слишком длинная? Как мы можем обойти такую ​​ошибку, если мы ограничены этим определенным путем ...?

1 Ответ

2 голосов
/ 04 июня 2019

Похоже, что user по какой-то причине является функцией (зависит от того, откуда она поступает / где вы ее инициализируете) и что вы видите в сообщении об ошибке ../data/callback => { ... - это строковая версия этой функции.

Я бы дважды проверил, что user на самом деле просто строковый идентификатор пользователя.Исходя из вашего первого примера, вы не должны использовать user.hash?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...