node.js - Node.js 名称太长,scandir
问题描述
我有一个从我的项目开始的文件夹结构注意 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
吗?
推荐阅读
- python - “AttributeError: 'Worksheet' object has no attribute 'worksheet'” 是什么意思?
- apache - 如何使用 htaccess 重定向域和特定 url?
- reactjs - 更漂亮的将 if / else 重新格式化为单行
- php - 如何过滤我的数组以在该日期为每个 $event 迭代 $date 一次?php
- php - Wordpress PHP Cookie 未更新并重定向到正确位置
- mysql - 如何将 GoormIDE 中 MySQL SELECT 查询的结果保存为 CSV 文件格式
- django - 无法在我的视图中获取 Django 设置
- asp.net-core - 在 asp.net Core 2 Identity 中重命名 Razor 页面
- python - Pandas:使用 workalendar 检查日期是否为假期并为英国和其他国家的日历分配布尔值
- azure - 创建后找不到代理池