nodejs pipe或fs.rename致命错误:CALL_AND_RETRY_0分配失败 - 进程内存不足

时间:2013-11-09 04:06:48

标签: node.js file out-of-memory fatal-error

有趣。一些大文件出错了。有些则没有。

由以下cmd创建的文件可以正常工作。

dd if=/dev/zero of=/home/name/testfile.tar.gz bs=280M count=1

但是某些exe文件不起作用。

test.js

var source  = fs.createReadStream(req.files.file.path);
var dest    = fs.createWriteStream('/var/www/uploads/' + process.hrtime()[0] + process.hrtime()[1] + '_' + req.files.file.name);

source.pipe(dest);

source.on('end', function() { /* copied */ 
  console.log('end');
});

source.on('error', function(err) { /* error */ 
  console.log(err);
  console.log('error');
});

OR

fs.rename(req.files.file.path, '/var/www/name/uploads/' + process.hrtime()[0] + process.hrtime()[1] + '_' + req.files.file.name, function(err) {
  if(err)
    console.log(err);
  else
    console.log('file moved');
});

0 个答案:

没有答案