【问题标题】:Express + Multer + Google Cloud Storage Error: "Requires a callback function"Express + Multer + Google Cloud Storage 错误:“需要回调函数”
【发布时间】:2019-09-29 06:06:22
【问题描述】:

我正在尝试在 Express 路线中执行以下操作:

const multer = Multer({
storage: Multer.MemoryStorage,
  limits: {
    fileSize: 10 * 1024 * 1024 // Maximum file size is 10MB
  }
});

const gcsMiddlewares = require("../common/google-cloud-storage");

router.post(
  "/",
  multer.single("image"),
  gcsMiddlewares.sendUploadToGCS,
  (req, res, next) => {
    if (req.file && req.file.gcsUrl) {
    return res.send(req.file.gcsUrl);
    }

    return res.status(500).send("Unable to upload");
  }
);

module.exports = router;

我收到以下错误:

错误:Route.post() 需要回调函数,但得到了 [object Undefined]

如果您知道到底发生了什么,请说明一下。

【问题讨论】:

  • 检查你sendUploadToGCS,请确保这是返回function
  • @Tokenyet 我的路径应该是 const gcsMiddlewares = require("../middlewears/google-cloud-storage"); 错误消失了,因为我正在正确导入函数。谢谢。
  • 很高兴一切顺利。 @Tokenyet 您能否将您所说的内容发布为答案,以使其对社区更加可见,以便我们对其进行投票?
  • 我知道了,没想到我的评论解决了这个问题:P

标签: node.js express google-cloud-storage multer


【解决方案1】:

问题出现了,因为expressmiddleware链需要一个函数。 前任。 (req, res, next) => {}

虽然解决方案很短,但我会回答让其他人知道这是已解决的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 1970-01-01
    • 2022-06-16
    • 2020-02-08
    • 2020-09-02
    • 1970-01-01
    • 2017-09-30
    相关资源
    最近更新 更多