【问题标题】:ENOENT: no such file or directory: NODE JSENOENT:没有这样的文件或目录:NODE JS
【发布时间】:2019-06-29 06:55:17
【问题描述】:

谁能帮助解决这个问题,我知道有很多与这个问题相关的问题,但我几乎尝试了所有方法,没有任何帮助。

makeFile(dirName, fileName, content, callback) {
        if (!fs.existsSync(dirName)) {
            // fs.mkdirSync(dirName, {recursive: true});
            shell.mkdir('-p', dirName);
        }
        zlib.inflate(Buffer.from(content), (err, InfoInflated) => {
            if (err) {
                logger.error(err);
                return callback({ success: false, code: 500, err: err});
            }
let file = fs.createWriteStream(dirName + fileName, {
                    flags: 'a'
                });
            file.on('open', fd => {
                file.write(InfoInflated.toString('utf8'));
                file.end();
            }).on('error' , (err) => {
                logger.error(err);
                return callback({ success: false, code: 500, err: err});
            }).on('finish', () => {
                logger.info("file is complete !");
                return callback({success: true, code: 200, result: {message: "OK", file: dirName + fileName}});
            });
        });
    }

/tmp/files/2019-02-05/1205_undefined_undefined/1205_undefined_undefined.zip' 这是产生错误的完整路径

【问题讨论】:

  • 为了更好地理解,请添加一些关于你正在做什么和失败的描述。
  • fs.createWriteStream(dirName + fileName, ... - 请edit 您的帖子并向我们展示dirNamefileName 的值。还向我们展示您的代码中出现错误的确切位置。
  • @Corion 我已经编辑了问题
  • @Ashvin777 我已经编辑了问题
  • 再次,您如何调用makeFile 函数?请告诉我们minimal reproducible example,以便我们尝试复制您的情况。 dirNamefileName 的值可能很重要,dirName 中的目录是否已经存在也很重要。如果它们不全部存在,createWriteStream 将失败并显示ENOENT(即file or directory not found)。

标签: node.js shell filesystems fs


【解决方案1】:

我认为您错误地使用了 shell 语法。此外,您可能不需要使用 shell 来创建目录,因为它可以使用 fs 组件本身来完成。

看看你的脚本的解决方案 - https://jsitor.com/fh3IyKq74

它正在执行您的代码并正确显示响应。在mkdir 中,请确保您应该首先检查空字符串是否实际触发。

【讨论】:

  • 我用过 fs 系统,但是没有用,如果你有建议我会很高兴看到它:)
  • 如果您想了解更多详细信息,您也可以从这张票中获得帮助 - stackoverflow.com/questions/13696148/…
  • 这就是你说的错误(node:98) [DEP0025] DeprecationWarning: sys is deprecated. Use util instead. { success: false, code: 500, err: { Error: incorrect header check at Zlib.zlibOnError [as onerror] (zlib.js:155:17) errno: -3, code: 'Z_DATA_ERROR' } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 2014-01-12
  • 1970-01-01
  • 2023-03-31
  • 2013-07-28
  • 2019-02-03
相关资源
最近更新 更多