web-dev-qa-db-ja.com

mean.io-エラー: 'リクエストエンティティが大きすぎます'。 meanioモジュールの外部でbodyParserの制限を増やす方法は?

Mean.ioアプリケーションで次のエラーが発生します。

Error: request entity too large

この問題を克服するために、次の場所にあるinmeanioモジュールで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アプリでリクエスト制限を増やすための代替方法を提案できますか?

8

私はこれを実際に機能させました。それは彼らがコードを更新した最新バージョンのnpmmeanioモジュールの問題です。 npm meanioパッケージを更新する必要があります。その後、ExpressEngine.jsファイルに存在するメソッドをオーバーライドできます。

Githubでこのために開かれた問題があります https://github.com/linnovate/mean/issues/1169

この後、彼らはこの問題を修正し、コードをマージしました

1
Sunil Hirole

代わりに、これをapp.jsに適用してみてください。

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

この助けを願っています!

11
Zachary Dahan

2016年、bodyparserの「limit」に加えて「type」を明示的に設定するまで、上記のいずれも機能しませんでした。例: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);
8
user1709076

私が仕事に取り掛かったのは、これらの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 }));

`` `

2
Andy Brown