在nodejs中解析强大的multipart / form-data和array字段

时间:2018-10-22 13:18:56

标签: node.js parsing formidable

enter image description here

将需求主体留空,当我用强大的语法进行解析时,它使键和值类似

1。 键:过滤器[电话] 值:978200000

2。 键:过滤器[名称] 值:Shubham

1 个答案:

答案 0 :(得分:0)

尽管在某些情况下存在一些漏洞和修复程序,但您遇到的问题是a continuing bug in Formidable,现在已解决:发行版2.0.0-canary.20200504.1

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

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

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不同)一样,arrays are more literal representation stacks和对象是存储所有内容的便捷方式,具有字符串键值的inputFields将作为对象返回。因此,在您的示例中,inputFields将包含以下属性:

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

还要注意,以上述方式强大返回 string