node.js - Node.js 强大 :: 如何使用(php 约定)数组字段解析表单“multipart/form-data”
问题描述
变得req.body
空白,当我用强大的解析时,它使键和值如下:
key : filter[phone]
value : 978200000
key : filter[name]
value : Shubham
解决方案
尽管在某些情况下有一些 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',
}
另外需要注意的是,上述方式中的强大返回字符串。
推荐阅读
- ios - 在通过 cocoapods 分发的 iOS 动态框架中混淆内部类
- elixir - ecto中的虚拟模型
- sql - 未设置的参数仍然在存储过程 sql 中传递值
- android - 测试通过函数参数传递的函数是否被调用(Android/Kotlin)
- javascript - 无法读取 vue $router (setTimeOut()) 中未定义的属性“推送”
- python - 使用python根据字体大小将pdf文档裁剪为多个pdf
- django - Django migrate 没有启动执行一些迁移文件
- ios - 如何使页脚 UITableViewCell 不是静态的?
- maven - java.lang.ClassNotFoundException: org.apache.log4j.Logger 与 elasticsearch 和 neo4j
- php - 在php中发送带有用户信息的邮件