scg*_*cgy 5 node.js body-parser
我正在尝试为bodyParser.urlencodedParser设置'limit'选项,因为我的POST数据大于默认值.我的代码目前看起来如下,但无论我尝试什么,我总是收到以下错误:
错误:请求实体太大
var express = require('express');
var router = express.Router();
var jsonfile = require('jsonfile');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({limit: '5mb'});
router.post('/data', urlencodedParser ,function(req, res) {
if(typeof req.body.data === 'undefined')
{
console.log('Missing data');
res.status(500).send({ error: 'Missing Data Parameters' });
return;
}
// Static return value
var output = [
{"f" : "1"},
{"f" : "2"},
{"f" : "3"}
];
res.send(output);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
IMD*_*WPD 17
我也遇到了同样的错误(使用MEAN.js),试图对快速配置设置限制(在其他线程中回答),但仍然没有运气.
我发现有时问题不仅仅是限制,如果你已经通过了很多参数,你也需要设置参数限制.
我通过设置参数限制成功修复了问题,如下所示:
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
parameterLimit: 100000,
limit: '50mb',
extended: true
}));
Run Code Online (Sandbox Code Playgroud)
参数限制的默认值为1000.
身体解析器的来源:https: //github.com/expressjs/body-parser#parameterlimit
Mat*_*att 10
我在通过ajax发送图像数据时遇到问题,并且"错误:请求实体太大",设法通过添加来解决它
app.use(bodyParser.json({limit: '50mb', type: 'application/json'}));
Run Code Online (Sandbox Code Playgroud)
但最重要的部分是确保我打电话
app.use(bodyParser());
Run Code Online (Sandbox Code Playgroud)
在我设定限制后,希望这有帮助!!
| 归档时间: |
|
| 查看次数: |
21864 次 |
| 最近记录: |