首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中间件是一个对象,而不是函数

中间件是一个对象,而不是函数
EN

Stack Overflow用户
提问于 2019-10-23 17:51:10
回答 1查看 32关注 0票数 0

我正在尝试使用multer gridFS制作一个文件上传接口,我使用了文档,但我遗漏了一些东西:

这是我的代码:

代码语言:javascript
复制
const config = require("config");
const express = require("express");
const router = express.Router();
const dbURI = config.get("mongoURI");
const multer = require("multer");
const crypto = require("crypto");
const path = require("path");
const GridFsStorage = require("multer-gridfs-storage");


var 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 fileInfo = {
          filename: filename,
          bucketName: "uploads"
        };
        resolve(fileInfo);
      });
    });
  }
});
const upload = multer({ storage });

router.post("/upload", upload.single("file"), (req, res) => {
  res.json({ msg: "file uploaded successfully" });
});

我得到了一个错误TypeError: Router.use()需要一个中间件函数,但得到了一个对象,它基本上告诉我upload.single不是一个函数,我的错误是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-10-23 18:44:49

我发现了错误,我遗漏了module.exports = router;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58520092

复制
相关文章

相似问题

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