【问题标题】:Error: ENOENT, no such file or directory - fs.createReadStream that is piped into a fs.createWriteStream错误:ENOENT,没有这样的文件或目录 - fs.createReadStream 通过管道传输到 fs.createWriteStream
【发布时间】:2016-01-11 03:41:25
【问题描述】:

下面是我尝试使用 fs.createReadStream 的代码,它通过管道传输到 fs.createWriteStream。它的工作一击。但是,如果我使用并发命中运行相同的代码,则会出现错误

错误:ENOENT,没有这样的文件或目录

var fileReadStream = fs.createReadStream("test.png", {encoding: "utf16le"});
var fileWriteStream = fs.createWriteStream("test1.png", {encoding: "utf16le"});
fileReadStream.pipe(fileWriteStream);
fileReadStream.on('end', function () {
});
fileWriteStream.on('close', function () {
    fileReadStream.on('finish', function () {
        fs.unlink(test1.png);
    })

})

我在文件系统 api 方面不是那么好。有人可以帮助我在这里做错了什么。

【问题讨论】:

  • 还要确保你的路径是正确的,如果你缺少一个文件夹你会得到这个错误。
  • 我遇到了同样的问题。我已将其范围缩小到 fs.createWriteStream(path) 作为原因。 path是正确的,文件及其父文件夹都存在。几秒钟后,写入流发出ENOENT 错误。这更加令人困惑,因为这在代码的其他地方也有效。

标签: node.js file fs


【解决方案1】:

添加 __dirname + '/test.png' 修复了我的错误

 var fileReadStream = fs.createReadStream(__dirname + <path to image From current directory>, {encoding: "utf16le"});
var fileWriteStream = fs.createWriteStream(__dirname + <path to image From current directory>, {encoding: "utf16le"});

【讨论】:

  • 每当你回答时,尽量说清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 2019-03-09
  • 2017-12-28
  • 2022-01-16
  • 2021-03-30
  • 1970-01-01
相关资源
最近更新 更多