fs.open失败,文件扩展名为node.js

时间:2016-01-13 00:19:11

标签: node.js express socket.io fs

我有以下代码:

fs.open("uploads/test.txt", "a", "0755", function(err, fd){
  if(err) { console.log(err); } 
  else {
    file.handler = fd; //We store the file handler so we can write to it later
    ...
  }
});

当我只有"uploads/test"时,文件就会被创建和写入,但是当我尝试"uploads/test.txt"时它会中断。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为你应该尝试使用

  var path = './uploads/test.txt'.

或者

  var path = __dirname + 'your_path';

fs.open(path, "a", "0755", function(err, fd){
  if(err) { console.log(err); } 
  else {
    file.handler = fd; //We store the file handler so we can write to it later
    ...
  }
});

答案 1 :(得分:0)

这真的很傻,但我发现导致我的代码破坏的原因是什么:

fs.open按预期工作。错误是使用nodemon进行文件检测设置。

原因是每次我的应用程序加载它都会运行上面提到的代码。然后代码将写入我的应用程序/uploads目录中的新文件。然后,Nodemon将检测新文件并重新启动应用程序,从而形成恶意循环。