我正在尝试使用 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.mongo
gfs 对象作为第二个参数传递,但这也引发了关于能够读取的错误readPreferences of undefined