nodejs fs.createWriteStream在242个文件之后给出错误

时间:2014-12-11 11:36:41

标签: node.js fs

我正在从画布生成快照,以便稍后加入以创建视频。 fs.createWriteStream适用于242个文件,但在242之后创建任何文件时会出错。

以下是我正在使用的代码

for(var i = 0; i < frames.length; i++){
     var out = fs.createWriteStream("frame-" + i +".png");
}

上面的代码完全正常,直到索引241.正好在索引242每次都给出错误

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: EMFILE, open '~/project/app/frames/frame-242.png'

这是与OS相关的限制吗?我正在使用Mac OS。是因为我们不能打开超过有限的没有文件写:( 如何解决此问题,以获得数百个文件?

由于 Parag

1 个答案:

答案 0 :(得分:0)

调用

out.end()

做了魔法。根据有用的社区和一些研究的建议,我发现关闭流的功能是end()