2014-09-23 89 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