Javascript Node.js表单数据在哪里结束?

Javascript Node.js表单数据在哪里结束?,javascript,node.js,http,request,busboy,Javascript,Node.js,Http,Request,Busboy,我创建这个小示例是为了找出表单数据的最终位置,但我无法找出它的最终位置。 我希望能在req.body中找到一些数据,但正如您运行示例时看到的,如果结果为空:/ var connect = require('connect'); var bodyParser = require('body-parser'); var app = connect(); app.use(bodyParser.urlencoded({'extended': false})); app.use(function(r

我创建这个小示例是为了找出表单数据的最终位置,但我无法找出它的最终位置。 我希望能在req.body中找到一些数据,但正如您运行示例时看到的,如果结果为空:/

var connect = require('connect');
var bodyParser = require('body-parser');

var app = connect();

app.use(bodyParser.urlencoded({'extended': false}));

app.use(function(req, res){
    console.log(req);
    res.end("<html><form method='post'enctype='multipart/form-data'><input type='text' name='file_caption' /><input type='file' name='file_file' /><input type='submit' /></form></html>");
});

app.listen(3000);

问题是,如果我使用connect busboy访问输入和文件,我会找到它们。但是为什么它们在请求对象中不可见呢?

主体解析器没有提供任何中间件来处理多部分请求。为此,您需要类似于multipart only、/或。

我知道,我已经看到它在工作。但我想知道数据在哪里?我在请求中看不到它,这是连接busboy和所有其他人必须使用的唯一东西,对吗?如果您只使用了主体解析器中间件和多部分/表单数据表单提交,就不可能看到填充的req.body。正文解析器只识别应用程序/x-www-form-urlencoded表单提交。我理解。但是数据在哪里?!?各种中间件正确地解析了一些数据,我认为这些数据会出现在请求中,但我找不到。req是一个可读的流,这就是原始数据来自客户端的地方。各种主体解析器读取数据,对其进行解析,然后一些模块将设置req.body,如果它们支持解析结果的多部分,则可能会设置req.files。