微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“类型错误:GridFsStorage 不是构造函数”

如何解决“类型错误: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 举报,一经查实,本站将立刻删除。