解析 Post 表单数据 Node.js 表达
Parsing Post Form Data Node.js Express
我正在以这种形式获取表单数据
'------WebKitFormBoundarysw7YYuBGKjAewMhe\r\nContent-Disposition: form-data; name': '"a"\r\n\r\nb\r\n------WebKitFormBoundarysw7YYuBGKjAewMhe--\r\n
我正在尝试找到一个中间件,它可以让我像这样访问表单数据:
req.body.a // -> 'b'
我试过了
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
是我的实现有问题还是我没有使用正确的中间件?
有用的工具是multiparty
app.post('/endpoint', function (req, res) {
var form = new multiparty.Form();
form.parse(req, function(err, fields, files) {
// fields fields fields
});
})
为我工作的图书馆非常强大。干净、快速并且也支持多部分请求。
这是来自 their docs
的代码
安装:
npm install -S express-formidable
这是示例用法:
const express = require('express');
const formidable = require('express-formidable');
var app = express();
app.use(formidable());
app.post('/upload', (req, res) => {
req.fields; // contains non-file fields
req.files; // contains files
});
以上两个答案是正确的,但现在那些方法已经过时了。 multer
是访问表单数据的更好方法。通过以下命令安装它:npm install multer
一些有用的正文解析器。
Body-type: 解析器
form-data: 多
x-www-form-urlencoded: express.urlencoded()
原始:express.raw()
json: express.json()
文本:express.text()
我正在以这种形式获取表单数据
'------WebKitFormBoundarysw7YYuBGKjAewMhe\r\nContent-Disposition: form-data; name': '"a"\r\n\r\nb\r\n------WebKitFormBoundarysw7YYuBGKjAewMhe--\r\n
我正在尝试找到一个中间件,它可以让我像这样访问表单数据:
req.body.a // -> 'b'
我试过了
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
是我的实现有问题还是我没有使用正确的中间件?
有用的工具是multiparty
app.post('/endpoint', function (req, res) {
var form = new multiparty.Form();
form.parse(req, function(err, fields, files) {
// fields fields fields
});
})
为我工作的图书馆非常强大。干净、快速并且也支持多部分请求。 这是来自 their docs
的代码安装:
npm install -S express-formidable
这是示例用法:
const express = require('express');
const formidable = require('express-formidable');
var app = express();
app.use(formidable());
app.post('/upload', (req, res) => {
req.fields; // contains non-file fields
req.files; // contains files
});
以上两个答案是正确的,但现在那些方法已经过时了。 multer
是访问表单数据的更好方法。通过以下命令安装它:npm install multer
一些有用的正文解析器。
Body-type: 解析器
form-data: 多
x-www-form-urlencoded: express.urlencoded()
原始:express.raw()
json: express.json()
文本:express.text()