Express JS 模块解析来自 Postman 的 form-data 文本

Express JS modules to parse form-data text from Postman

我只有 3 个变量并使用 postman 进行发布。

我需要一个解决方案来解析 Express JS 中的 form-data 文本

当我在网上搜索时,我看到人们只是建议, 我们不能使用 body-parser 来处理 form-data,需要使用 multer、busboy、multiparty

还有人建议如果不发送文件就不用multer和formidable

但是谁能解释一下如何将它与节点 js 一起使用。当我看到模块 github 时,我无法理解如何使用它来满足我的需要。

我知道在邮递员中设置 x-www-form-urlencoded 选项有效,但我需要 form-data

app.post('/addUsrForm', addUsrFnc);

function addUsrFnc(req, res)
{
    console.log("Data Received : ");

    var namUserVar =
    {
        nameKey: req.body.nameKey,
        mailKey: req.body.mailKey,
        mobileKey: req.body.mobileKey
    };
    console.log(NquUsrJsnObjVar);
}

此答案详细介绍了 html form 编码的不同用例。 What does enctype='multipart/form-data' mean?

x-www-form-urlencoded 是默认值。 multipart/form-data 用于较大的数据发送,例如整个文件。

撇开 Postman 设置不谈,如果您的服务器需要处理 multipart/form-data,请安装 multer 并像这样使用它...

如果仅以 multipart/form-data 编码发送文本字段:

var multer = require('multer')
var multParse = multer()
...
function handler(req, res) {
   // fields will be parsed in req.body
}
...
app.post('/', multParse.none(), handler)

如果您实际上发送的是文件而不仅仅是文本字段,请在多个 github 页面上关注 multer api。