通过 post 消息发送代码无效
Send code via post message is not working
我想将代码发送到某个节点应用程序,我使用 postman 和 post 消息,在 body 我输入以下内容:
module.exports = function() {
var express = require('express'),
app = express();
app.set('port', process.env.PORT || 3000);
return app;
}
在我提出的请求的 header 中
content-Type application/text/enriched
在节点代码中我使用了以下
module.exports = function (app) {
fs = require('fs');
var bodyParser = require('body-parser');
...
app.post('/bb',function(req,res){
var fileContent = req.body
并且文件内容为空,我能够看到它在调试中停止后可以正常工作
如果您想添加自定义内容类型,则需要牢记两点:
- 内容类型不能是 "application/text/enriched",另一方面 "application/text-enriched" 可以。最多两个 "words".
- 您必须在 body 解析器配置上提供自定义接受 header 但是 body 解析器 return 当您使用自定义 header
看例子:
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
app.use(bodyParser.raw({ type: 'application/text-enriched' }))
app.post('/demo', function(req, res) {
console.log('POST DATA')
console.log('STREAM', req.body)
console.log('STREAM to STRING', req.body.toString())
res.status(200).send('ok');
});
app.listen(3000);
您可以在控制台中使用 curl 进行测试:
curl 'http://localhost:3000/demo' -d 'name=john&surname=doe' -H 'Content-Type: application/text-enriched'
我建议您尽量不要使用自定义内容类型 header,因为这样做更容易。希望我的解释对你有帮助。
我想将代码发送到某个节点应用程序,我使用 postman 和 post 消息,在 body 我输入以下内容:
module.exports = function() {
var express = require('express'),
app = express();
app.set('port', process.env.PORT || 3000);
return app;
}
在我提出的请求的 header 中
content-Type application/text/enriched
在节点代码中我使用了以下
module.exports = function (app) {
fs = require('fs');
var bodyParser = require('body-parser');
...
app.post('/bb',function(req,res){
var fileContent = req.body
并且文件内容为空,我能够看到它在调试中停止后可以正常工作
如果您想添加自定义内容类型,则需要牢记两点:
- 内容类型不能是 "application/text/enriched",另一方面 "application/text-enriched" 可以。最多两个 "words".
- 您必须在 body 解析器配置上提供自定义接受 header 但是 body 解析器 return 当您使用自定义 header
看例子:
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
app.use(bodyParser.raw({ type: 'application/text-enriched' }))
app.post('/demo', function(req, res) {
console.log('POST DATA')
console.log('STREAM', req.body)
console.log('STREAM to STRING', req.body.toString())
res.status(200).send('ok');
});
app.listen(3000);
您可以在控制台中使用 curl 进行测试:
curl 'http://localhost:3000/demo' -d 'name=john&surname=doe' -H 'Content-Type: application/text-enriched'
我建议您尽量不要使用自定义内容类型 header,因为这样做更容易。希望我的解释对你有帮助。