错误ENOENT,在nodejs中打开'/ tmp/45e85388793de'

use*_*363 3 node.js gridfs

我试图在GridFS中保存项目及其文件.我想首先保存项目并使用项目的"_id"作为我要保存文件的文件的元数据.当我尝试这样我得到ENOENT时,打开'/ tmp/45e85388793de'错误.这是我的代码

newProject.save(function (err,project) {
            if (err) {
              console.log('save error', err);
            }
             console.log("project added");
             var id=poject._id;
             var filepath    = req.files.file.path;
             var filename    = req.files.file.name;
           var writestream = gfs.createWriteStream({ filename: filename, metadata:id });
             console.log(filepath);                                                       
             fs.createReadStream(filepath)
             .on('end', function() {

             })
            .on('error', function(err) {
             console.log("error encountered"+err);//ENOENT,open error  
             })
            .pipe(writestream);
            });
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误以及如何解决?

小智 5

ENOENT在此上下文中表示"没有此类文件或目录".这意味着filepath你试图阅读createReadStream不存在.