Node.js Formidable ::如何使用(php约定)数组字段解析表单'multipart / form-data'

问题描述 投票:1回答:1

enter image description here

[req.body为空,当我用强大的语法进行解析时,它使键和值类似:

key : filter[phone] 
value : 978200000

key : filter[name] 
value : Shubham
node.js parsing formidable
1个回答
0
投票

尽管在某些情况下有一些破解和修复程序,但您的问题是a continuing bug in Formidable,现在已解决:发行版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中(unlike

PHP)arrays are more literal representation stacks和对象是存储所有内容的转到方式,具有字符串键值的inputFields将作为对象返回。因此,对于您的示例,inputFields将包含以下属性:
filter {
  phone: '978200000',
  name: 'Shubham',
}

还要注意,以上述方式令人讨厌返回string

© www.soinside.com 2019 - 2024. All rights reserved.