web-dev-qa-db-fra.com

Node.js Express. Grand corps pour bodyParser


J'utilise Express.js version 4.2 et souhaite analyser un message volumineux (150K - 1M) mais je reçois le message d'erreur "entité de requête trop grande" Il semble que la limite est de 100 K. Je ne vois pas comment modifier la limite dans Express 4. Dans Express 3.x, je viens de…

app.use(express.json({limit: '5mb'}));
app.use(express.urlencoded({limit: '5mb'}));

Comment puis-je changer la limite dans Express 4?

Merci pour toute aide.

42
user2856066

Avec Express 4, vous devez installer le module body-parser et l'utiliser à la place:

var bodyParser = require('body-parser');

// ...

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({limit: '5mb'}));
71
mscdex

Le code de Mscdex fonctionne, mais nous devrions ajouter un autre paramètre pour éviter les alertes maintenant.

app.use(bodyParser.urlencoded({limit: '5mb', extended: true}));
10
blackmiaool

Express v4.x.x

Node.js v9.x.x

Cela dépend si vous recevez des données au format JSON ou via une requête URL paramétrée. 

J'ai eu le même problème lors de l'envoi d'un tampon JSON volumineux. Le fichier faisait environ 43 Ko et je passais de mon middleware vers une API express.

Je l'ai traité comme tel: 

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ extended: false }));

Cela corrigeait le problème pour moi, lorsque le corps était un objet JSON volumineux.

0
Ryan