【发布时间】:2016-01-16 22:13:49
【问题描述】:
我在 nodejs
中使用 require('fs'); 调用同步调用var folder_path = '/home/abc';
var myfiles = ['a.png','b.png'];
_.each(myfiles, function(name){
var data = fs.readFileSync(folder_path+'/'+name);
if(data){
// Some operation
}
});
在调用该函数时,我收到错误:EISDIR,对目录的非法操作
fs.js:488
var r = binding.read(fd, buffer, offset, length, position);
^
Error: EISDIR, illegal operation on a directory
at Object.fs.readSync (fs.js:488:19)
at Object.fs.readFileSync (fs.js:322:28)
at /home/coader/dev/api/controllers/MyController.js:66:30
at Function.forEach ( /home/coader/dev/node_modules/sails/node_modules/lodash/dist/lodash.js:3298:15)
at /home/coader/dev/api/controllers/MyController.js:41:11
at Object.oncomplete (fs.js:108:15)
error: Forever detected script exited with code: 8
详情
$ node -v
v0.10.37
$ nodejs -v
v0.10.37
$ npm -v
1.4.28
任何答案都将是可观的。
谢谢
【问题讨论】:
-
你为什么在
_而不是myfiles上调用each? -
没有具体原因...我使用了underscore.js,所以我调用了_.each()。
标签: node.js filesystems fs