在Express中处理文本/纯文本(通过连接)?

我正在使用Express 3,并希望处理文本/纯邮政。

Express 3现在使用connect的bodyParser (我认为旧的Express代码已经移动连接)。 bodyParser的文档给出了一些关于如何使其支持其他文件types的细节。 而且我发现了一个很好的博客文章,讲述如何在旧版Express中处理文本/纯文本 )。

  • 我应该明确要求连接(并让节点需要caching修改后的版本)? 或者是连接暴露通过快递的地方?

  • connect.bodyParser没有“parsing”键。

我如何使Express(通过连接)处理文本/纯邮政?

以bodyParser作为依赖项,将其添加到您的app.js文件中。

 var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.text()); 

快乐的节点。

https://gist.github.com/3750227

 app.use(function(req, res, next){ if (req.is('text/*')) { req.text = ''; req.setEncoding('utf8'); req.on('data', function(chunk){ req.text += chunk }); req.on('end', next); } else { next(); } }); 

将文本添加为​​req.text

我只是做一个模块类似于json.js中间件模块,只是不要麻烦转换成其他的buf数据。 将它包装成一个plain.js文件,应用一些体面的“不要重复自己”重构,并提交一个拉请求连接。 似乎一般方便。 但是,请注意,虽然方便,但是足够大的请求主体将需要在某个点上直接传输到磁盘,因此您不会占用节点服务器中的所有内存。