如何解决“类型错误:GridFsStorage 不是构造函数”
出于某种原因,我不断收到“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')
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
解决方法
doc on NPM 显示了这一点:
const {GridFsStorage} = require('multer-gridfs-storage');
不是你使用的是这个:
const GridFsStorage = require('multer-gridfs-storage');
,
使用这个:
import {GridFsStorage} from 'multer-gridfs-storage'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。