首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Express js/Node中使用multer访问表单数据

在Express js/Node中使用multer访问表单数据
EN

Stack Overflow用户
提问于 2021-05-11 13:03:12
回答 1查看 467关注 0票数 0

我有一个简单的中间件,然后我有一个multer中间件,然后是我的最后一个函数。我似乎不知道如何在第一个中间件中从前端访问表单数据。我可以在最后一个函数中访问它们,这是在multer中间件之后,但不是在第一个中间件中。我从前端发送id,在我的路径的最后一个函数中,我可以以req.body.id的形式访问id。但是,我不能在我的第一个中间件中访问它。下面是我的路线

代码语言:javascript
运行
复制
route.post('/upload', [checkSize, upload.single('file')], file_controller.upload)

下面是我的checkSize中间件

代码语言:javascript
运行
复制
var db = require('../database/connection');

checkSize = async (req, res, next) => {

let dbo = await db();

let initSize = await dbo.stats();

if(1 === 1){

    return res.send("middleware is working" + " " + req.body.id);

}else{

    req.initSize = initSize.dataSize/1000000
    next()
}
}
    module.exports = checkSize

反应的结果是

“中间件正在进行未定义的工作”

EN

回答 1

Stack Overflow用户

发布于 2021-05-11 13:25:26

首先,您需要更改中间件的顺序。

代码语言:javascript
运行
复制
route.post('/upload', [upload.single('file'), checkSize], file_controller.upload)

第二,文件在req.file而不是req.body字段中可用。req.body字段将包含窗体的所有文本字段。

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

https://stackoverflow.com/questions/67487351

复制
相关文章

相似问题

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