Express-Benutzer können bei der Verarbeitung großer Nutzlasten auf den Fehler „Fehler: Anforderungsentität zu groß“ stoßen. Dieses Problem tritt auf, wenn die eingehende Anforderung die konfigurierte Größenbeschränkung überschreitet.
Um dieses Problem zu beheben, können Benutzer die Anforderungsgrößenbeschränkung mithilfe von app.use(express) anpassen. limit(size)) Middleware. Im bereitgestellten Beispiel ist das Limit auf 100.000.000 Oktette festgelegt.
Stellen Sie sicher, dass der Content-Length-Header in Fiddler mit der Größe des geposteten JSON-Arrays übereinstimmt. In diesem Fall zeigt der Header einen Wert von 1078702 Oktetten, was 1,0787 Megabyte entspricht.
Eine mögliche Lösung ist die Verwendung von app.use(express.bodyParser({limit : '50mb'})) anstelle von app.use(express.limit(size)). Es wurde berichtet, dass dieser Ansatz bei einigen Benutzern funktioniert.
Wenn die oben genannten Lösungen fehlschlagen, kann ein temporärer Patch angewendet werden, indem das Raw-Body-Modul direkt geändert wird. Durch Hinzufügen von limit = 52428800; In Zeile 10 von node_modules/express/node_modules/raw-body/index.js wird die Grenze auf 50 Megabyte erzwungen. Beachten Sie, dass dies eine vorübergehende Problemumgehung und keine dauerhafte Lösung ist.
Für eine robustere Lösung wird empfohlen, das Body-Parser-Modul mit zu verwenden Express 4 oder höher. Der folgende Codeausschnitt veranschaulicht, wie die Körpergrößenbeschränkung konfiguriert wird:
const bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb'}));
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie behebe ich den „Fehler: Anforderungsentität zu groß' in Express.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!