4

我正在尝试使用 gridfs-stream,但在将图像文件发布到我的上传控制器时遇到问题。当它试图创建写入流时返回grid.mongo.ObjectID is not a constructor at new GridWriteStream

我四处搜寻,并没有真正找到任何可以帮助我解决这个问题的东西,调试也没有发现任何我可以使用的东西,这对我来说都是新技术。

这是我的代码:

const router = require('express').Router();
const database = require('../config/database');
var mongoose = require('mongoose');

var Grid = require('gridfs-stream');
Grid.mongo = mongoose.connection;
var gfs = new Grid("db", mongoose.mongo.db);


router.get('/', function(req, res) {
    res.send("Greetings");
});

router.post('/img', function(req, res) {
    var part = req.files.fileField;

    var writeStream = gfs.createWriteStream({
        filename: part.name,
        mode: 'w',
        content_type:part.mimetype
     });

    writeStream.on('close', function() {
            return res.status(200).send({
            message: 'Success'
        });

        writeStream.end();
    });
});

module.exports = router;

我也尝试将mongoose.mongogfs 对象作为第二个参数传递,但这也引发了关于能够读取的错误readPreferences of undefined

4

0 回答 0