Maison >interface Web >js tutoriel >Comment résoudre l'« Erreur : entité de demande trop grande » dans les applications Express.js ?

Comment résoudre l'« Erreur : entité de demande trop grande » dans les applications Express.js ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 14:30:12802parcourir

How to Solve the

Gestion des erreurs pour les entités de requête volumineuses

Lorsque vous travaillez avec des applications Express, vous pouvez rencontrer l'erreur « Erreur : entité de requête trop grande ». Cette erreur se produit généralement lorsque la taille de la charge utile de la requête dépasse la limite spécifiée. Voici une explication de la façon de résoudre ce problème :

Dans l'extrait de code fourni, vous avez la ligne suivante :

app.use(express.limit(100000000));

Cette ligne utilise la méthode express.limit() pour limiter le taille de la requête à 100 Mo (100 millions d’octets). Cependant, ce paramètre est remplacé par un middleware ultérieur qui utilise la méthode bodyParser (non affichée dans l'extrait de code).

Configuration appropriée de Body Parser

Pour définir le correctement la limite de taille de la demande, vous devez configurer explicitement le middleware bodyParser. Par défaut, json() est utilisé pour gérer les requêtes JSON et urlencoded() est utilisé pour les requêtes de données de formulaire. Vous pouvez définir la limite pour chacun de ces analyseurs en utilisant leurs options respectives :

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

Vous pouvez également utiliser la méthode bodyParser désormais obsolète et définir son option de limite :

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

Détermination de la valeur limite

Dans votre cas, vous observez un 1,0787 Mo charge utile, qui se situe dans la limite de 100 Mo que vous avez définie. Cela suggère que le problème pourrait être ailleurs. Vérifiez que vous n'avez configuré aucun autre middleware ou bibliothèque tierce susceptible de définir une limite plus restrictive.

Dépannage

Si vous avez correctement configuré le corps- middleware de l'analyseur et exclu toute autre source potentielle de la limite, vous devrez peut-être déboguer le code pour identifier l'endroit où la limite est mal définie. Pensez à ajouter des journaux de console à des points stratégiques de votre middleware pour examiner les valeurs de la variable limit.

Dans Express v4.16.0 et versions ultérieures, vous pouvez revenir à l'utilisation de la syntaxe concise de app.use(express.limit ()). Cependant, il est important de noter que la méthode bodyParser est obsolète et doit être remplacée par body-parser pour pérenniser votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn