Node.js 名字太长,scandir
Node.js name too long, scandir
我有一个从我的项目开始的文件夹结构
注意user.hash和user是MD5 hash
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
?
我有一个从我的项目开始的文件夹结构 注意user.hash和user是MD5 hash
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
?