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

Rav*_*udi 8 node.js express meanjs

我在mean.io应用程序中收到以下错误.

Error: request entity too large
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我在以下位置使用meanio模块增加了bodyParser限制.

node_modules/meanio/lib/core_modules/server/ExpressEngine.js
Run Code Online (Sandbox Code Playgroud)

// 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());
Run Code Online (Sandbox Code Playgroud)

然而,这是一种不好的做法,如果我们升级模块,更改将会丢失.任何人都可以建议任何替代方法来增加meanio应用程序的请求限制?

Zac*_*han 11

尝试在您的应用中应用此功能app.js.

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb'}));
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!


use*_*076 8

2016年,没有以上为我工作直到我明确地除了"限制"设置"类型"的bodyparser,示例:var bodyParser =要求("bodyparser");

  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);
Run Code Online (Sandbox Code Playgroud)


小智 1

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

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

之后他们修复了这个问题并合并了代码