2014-09-23 112 views
0
var conn = mongoose.createConnection(config.db); 

conn.once('open', function (err) { 

    if (err) { 
     next(err); 
     return; 
    } 
    var source = fs.createReadStream(req.files.sample.path); 
    var gfs = Grid(conn.db, mongoose.mongo); 
    var id = mongoose.Types.ObjectId(); 
    var target = gfs.createWriteStream({ 
     _id: id, 
     filename: req.files.sample.name 
    }); 

    source.pipe(target).on('close', function() { 
     project.documentation = id; 
     persistProject(req, res, next, project); 
    }); 
} 

当我试图把它上传OS显示下面的错误。 终止申请:undefined错误:ENOENT,打开“空/ 60c0f337f3413edbc5eb3bb27fa3269f”

events.js:72 throw er; //未处理的 '错误' 事件 ^ 错误:ENOENT,打开 '空/ 60c0f337f3413edbc5eb3bb27fa3269f'

为什么这个错误会来吗?请帮我解决它。

+0

http://stackoverflow.com/questions/9047094/node-js-error-enoent – therealrootuser 2014-09-23 04:41:04

回答

0

ENOENT:错误,没有条目。 或者让它更精确:req.files.sample.path似乎不是正确的路径。 错误说'空/ ...' - 所以也许req.files.sample.path是空的?

如果我进一步挖掘,我会问自己:你在哪里“上传”到哪里以及那里的默认路径是什么?这是mongoDB在命令行上正常工作吗?

+0

检查req.files.sample.path是否设置正确。例如'/'与'./'不同,特别是如果你将你的东西上传到另一个环境。 – CFrei 2014-09-23 07:23:44

+0

感谢CFrei的快速响应。 – gayatri 2014-09-23 09:45:29