mean.io - 错误:“请求实体太大”。如何在meanio模块之外增加bodyParser限制?
Posted
技术标签:
【中文标题】mean.io - 错误:“请求实体太大”。如何在meanio模块之外增加bodyParser限制?【英文标题】:mean.io - Error: 'Request entity too large'. How to increase bodyParser limit outside meanio module? 【发布时间】:2015-07-08 12:14:13 【问题描述】:mean.io 应用程序出现以下错误。
Error: request entity too large
为了克服这个问题,我在以下位置使用 meanio 模块增加了 bodyParser 限制。
node_modules/meanio/lib/core_modules/server/ExpressEngine.js
// Request body parsing middleware should be above methodOverride
this.app.use(expressValidator());
this.app.use(bodyParser.json(limit: '50mb'));
this.app.use(bodyParser.urlencoded(
limit: '50mb',
extended: true
));
this.app.use(methodOverride());
但是,这是一种不好的做法,如果我们升级模块,更改将会丢失。任何人都可以建议任何其他方法来增加 meanio 应用程序的请求限制吗?
【问题讨论】:
【参考方案1】:尝试将其应用到您的 app.js
中。
app.use(bodyParser.json(limit: '50mb'));
app.use(bodyParser.urlencoded(limit: '50mb'));
希望对您有所帮助!
【讨论】:
谢谢!我确实在我的自定义包 app.js 中尝试过,但它不起作用。看起来我们需要在启动他们在 meanio 模块上执行的服务器之前增加限制...... 嗨,“app”指的是什么?【参考方案2】:我要做的就是将这两行直接放在var app = express();
上,如下所示:
```
var app = express();
app.use(morgan('dev'));
app.use(bodyParser.json(limit: "50mb"));
app.use(bodyParser.urlencoded( limit: "50mb", extended: true ));
```
【讨论】:
您好,我也面临同样的问题【参考方案3】:我得到了这个工作实际上是他们更新了代码的最新版本中的 npm meanio 模块的问题。您需要更新 npm meanio 包。之后您可以覆盖 ExpressEngine.js 文件中存在的方法。
在 github 上为此打开了一个问题 https://github.com/linnovate/mean/issues/1169
在此之后他们已经修复了这个问题并合并了代码
【讨论】:
【参考方案4】:2016 年,在我明确设置除了 bodyparser 的“限制”之外的“类型”之前,以上所有方法都不适用于我,例如: var bodyParser = require('body-parser');
var app = express();
var jsonParser = bodyParser.json(limit:1024*1024*20, type:'application/json');
var urlencodedParser = bodyParser.urlencoded( extended:true,limit:1024*1024*20,type:'application/x-www-form-urlencoding' )
app.use(jsonParser);
app.use(urlencodedParser);
【讨论】:
嗨我也面临同样的问题...我没有得到解决方案***.com/questions/40508748/…以上是关于mean.io - 错误:“请求实体太大”。如何在meanio模块之外增加bodyParser限制?的主要内容,如果未能解决你的问题,请参考以下文章