首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自multer-gridfs的抛出和处理错误-存储

来自multer-gridfs的抛出和处理错误-存储
EN

Stack Overflow用户
提问于 2021-06-27 06:51:19
回答 1查看 404关注 0票数 3

我从multer存储中抛出一个错误,但不确定如何更好地处理它。

我的守则:-

代码语言:javascript
复制
const storage = new gridfsStorage({
    url : 'mongodb://localhost:27017/uploadeditems' ,
    options : { useNewUrlParser : true , useUnifiedTopology : true  } ,
    file : (req , file) => {
        if(file.mimetype === 'image/jpeg') {
            return {
                filename : file.originalname,
                bucketName : 'Images' ,
                metadata : {
                    ownername : "Anshu Anand"
                }
            }
        }
        else if(file.mimetype === 'application/pdf') {
            return {
                filename : file.originalname , 
                bucketName : 'projectPDFs'
            }
        }

        else {
            throw new Error("File type is different")
        }
    }
})

upload = multer({
    storage ,
    
})

我的api处理它:-

代码语言:javascript
复制
app.post('/upload' , upload.single('project')  , async (req, res) => {
    console.log(req.file)
    

    res.render('upload' , {
            msg : "File has been uploaded successfully"
        })
} ,

(err , req , res , next ) => {

    console.log(err) 

  return res.send(err) //gives just this :- storageError : [] 
  
)

console.log(err)输出:-

代码语言:javascript
复制
Error: File type is different
at GridFSStorage.file [as _file] (F:\Node Projects\upload-download\index.js:41:19)
at GridFSStorage._generate (F:\Node Projects\upload-download\node_modules\multer-gridfs-storage\lib\gridfs.js:472:18)
at GridFSStorage.fromStream (F:\Node Projects\upload-download\node_modules\multer-gridfs-storage\lib\gridfs.js:368:35)
at GridFSStorage.fromFile (F:\Node Projects\upload-download\node_modules\multer-gridfs-storage\lib\gridfs.js:353:15)
at GridFSStorage._handleFile (F:\Node Projects\upload-download\node_modules\multer-gridfs-storage\lib\gridfs.js:314:9)
at F:\Node Projects\upload-download\node_modules\multer\lib\make-middleware.js:144:17
at allowAll (F:\Node Projects\upload-download\node_modules\multer\index.js:8:3)
at wrappedFileFilter (F:\Node Projects\upload-download\node_modules\multer\index.js:44:7)
at Busboy.<anonymous> (F:\Node Projects\upload-download\node_modules\multer\lib\make-middleware.js:114:7)
at Busboy.emit (node:events:376:20)
at Busboy.emit (F:\Node Projects\upload-download\node_modules\busboy\lib\main.js:38:33)
at PartStream.<anonymous> (F:\Node Projects\upload-download\node_modules\busboy\lib\types\multipart.js:213:13)
at PartStream.emit (node:events:376:20)
at HeaderParser.<anonymous> (F:\Node Projects\upload-download\node_modules\dicer\lib\Dicer.js:51:16)
at HeaderParser.emit (node:events:376:20)
at HeaderParser._finish (F:\Node Projects\upload-download\node_modules\dicer\lib\HeaderParser.js:68:8) {
 storageErrors: []
 }

那么,如何更好地处理它,并发送正在存储配置中抛出的确切错误呢?

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-06-27 07:14:41

我找到了如何得到准确的信息。您可以在err的message属性上获得它。

代码语言:javascript
复制
console.log(err.message) //=>File type is different
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68148709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档