问题描述
在一个较旧的项目中,我看到了两种类型的表单数据处理。
在一种方法中,它是使用EventEmitter
这样的方法来完成的:
http.createServer(function(req,res){
let decoder = new StringDecoder("utf-8");
let buffer="";
req.on("data",fuction(chunk){
buffer += decoder.write(chunk);
})
});
req.on("end",function(chunk){
// Logic
});
});
app.post('/',function(req,res){
const name = req.body.name;
});
据我了解,如果发布的数据较小,我们可以使用Body来获取数据,如果发布的数据较大,我们可以切换到Buffer。
对此还有其他很好的解释吗?
解决方法
Express只是一个环绕香草HTTP库的库。如果您阅读expressjs源代码,那么它仍然是Node HTTP库。当主体太大时,可以使用流连续有效地写入数据。