0

アップロードされたファイル (画像など) を mongodb データベースに書き込もうとしています。ただし、gridfs-stream を初期化しようとすると、タイプ エラーが発生します。これが私のコードです:

var mongo = require('mongodb');

router.post('/createpost', cpUpload, function(req,res) {
  var db = req.db;

  var gfs = Grid(db,mongo);

  var file = req.file;

  var fileId = new ObjectId();

  var writestream = gfs.createWriteStream({
    filename: file.originalname,
    mode: 'w',
    content_type: file.mimetype,
    metadata: req.body.postText,
  });
  fs.createReadStream(file.path).pipe(writestream);

  writestream.on('close', function(file) {
    res.send("Succcess!");
    fs.unlink(file.path,function(err) {
      if (err) {
        console.log("Error: ", err);
        console.log("DELETED: ", file.path);
      }
  });
 });


});

dbasの呼び出しと関係があると思いreq.dbますが、app.js のこのコードを使用して、db をルーター ファイルにアクセスできるようにします。

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/test-api');

app.use(function(req,res,next) {
  req.db = db;
  req.mongo = mongo;
  next();
});
4

1 に答える 1

0

var Grid = require('gridfs-stream');非常に簡単に修正できるように、構文が正しくありませんでした。

于 2015-07-20T20:23:01.107 に答える