由于某种原因,我一直得到一个“TypeError:GridFsStorage不是构造函数”错误。我不知道为什么它给我这个错误,因为我只是按照官方文件。
存储上传
conn.once('open', ()=> {
gfs = Grid(conn.db, mongoose.mongo)
gfs.collection('uploads')
})
const storage = new GridFsStorage({
url: DBURI,
file: (req, file)=> {
return new Promise((resolve,reject)=> {
crypto.randomBytes(16, (err, buf)=> {
if(err) {
return reject(err)
}
const filename = buf.toString('hex') + path.extname(file.originalname);
const fileInfor = {
filename: filename,
bucketName: 'uploads'
}
resolve(fileInfo)
})
})
}
})
const upload = multer({storage})
要求
const GridFsStorage = require('multer-gridfs-storage')
Bug
C:\Users\gabri\Desktop\GridFS\server.js:21
const storage = new GridFsStorage({
^
TypeError: GridFsStorage is not a constructor
at Object.<anonymous> (C:\Users\gabri\Desktop\GridFS\server.js:21:17)
at Module._compile (node:internal/modules/cjs/loader:1092:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
at Module.load (node:internal/modules/cjs/loader:972:32)
at Function.Module._load (node:internal/modules/cjs/loader:813:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
at node:internal/main/run_main_module:17:47
3条答案
按热度按时间taor4pac1#
doc on NPM显示:
其与以下相同:
而你用的这个完全不一样:
polkgigr2#
使用这个:
import {GridFsStorage} from 'multer-gridfs-storage'
yhxst69z3#
当使用不兼容的multer版本时会发生此错误。请升级到1.4.4。
更多信息见评论:Dependency problem using multer and multer-gridfs-storage