mean.io - 错误:'请求实体太大'。如何在meanio模块外增加bodyParser限制?

时间:2015-04-29 09:39:16

标签: node.js express meanjs

我在使用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 app的请求限制吗?

4 个答案:

答案 0 :(得分:11)

请尝试在app.js中应用此功能。

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb'}));

希望这有帮助!

答案 1 :(得分:8)

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);

答案 2 :(得分:2)

我开始工作的是直接product这两行:

```

var app = express();

```

答案 3 :(得分:1)

我得到了这个工作实际上是npm meanio模块在最新版本中已更新代码的问题。您需要更新npm meanio包。之后,您可以覆盖ExpressEngine.js文件中存在的方法。

在github上为此打开了一个问题 https://github.com/linnovate/mean/issues/1169

在此之后,他们已修复此问题并合并代码