首页 > 解决方案 > Node.js 强大 :: 如何使用(php 约定)数组字段解析表单“multipart/form-data”

问题描述

在此处输入图像描述

变得req.body空白,当我用强大的解析时,它使键和值如下:

key : filter[phone] 
value : 978200000

key : filter[name] 
value : Shubham

标签: node.jsparsingformidable

解决方案


尽管在某些情况下有一些 hack 和修复,但您的问题是Formidable 中的一个持续错误,现在已修复: release 2.0.0-canary.20200504.1

multiples您需要做的就是在创建强大的实例时打开该选项。

例如,假设您req通过express接收请求 () ,您可以执行以下操作:

const formidable = require('formidable');

const form = formidable({ multiples: true });

var inputFields = {};

form.parse(req, (err, fields, files) => {
  if (err) {
    next(err);
    return;
  }
  inputFields = fields;
});

在 Javascript 中(PHP 不同)数组是更多的文字表示堆栈,而对象是存储所有内容的首选方式,inputFields具有字符串键值的将作为对象返回。因此,对于您的示例,inputFields将包含以下属性:

filter {
  phone: '978200000',
  name: 'Shubham',
}

另外需要注意的是,上述方式中的强大返回字符串


推荐阅读