我有一个从我的项目开始的文件夹结构请注意,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
到目前为止,我的理解是文件路径字符串太长?如果我们仅限于该特定路径,我们如何解决这样的错误...... ?
看起来
user
由于某种原因(取决于它来自哪里/在哪里初始化它(是一个函数,并且您在错误消息中看到的../data/callback => { ...
是该函数的字符串化版本。
我会仔细检查user
实际上只是用户的字符串标识符。根据你的第一个例子,你不应该使用user.hash
吗?