Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Ralat \'Meminta Entiti Terlalu Besar\' dalam Express.js?

Bagaimana untuk Menyelesaikan Ralat \'Meminta Entiti Terlalu Besar\' dalam Express.js?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-28 03:51:11449semak imbas

How to Resolve the

Ralat: Minta Entiti Terlalu Besar

Ralat ini berlaku apabila badan permintaan melebihi had saiz yang dibenarkan. Express menyediakan kaedah express.limit() untuk menetapkan had ini. Walau bagaimanapun, kadangkala had tidak dikuatkuasakan dengan betul.

Penyelesaian:

1. Tetapkan Had Secara Eksplisit

Pastikan express.limit() dipanggil secara eksplisit dan diletakkan sebelum perisian tengah lain yang mungkin mengubah isi permintaan, seperti express.json() atau express.urlencoded().

app.use(express.limit('50mb'));

2. Kemas kini Body Parser dengan body-parser

Dalam Express 4, middleware body-parser harus digunakan bukannya express.json() dan express.urlencoded().

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb'}));

3. Tampal Modul Buat Sementara

Sebagai penyelesaian sementara, anda boleh mengedit modul badan mentah dan tetapkan had secara manual. Ini tidak disyorkan, kerana ia akan ditimpa semasa kemas kini modul.

// In node_modules/express/node_modules/connect/node_modules/raw-body/index.js
limit = 52428800; // For 50mb

4. Gunakan Versi Ekspres Terkini

Dalam Express v4.16.0 dan ke atas, had boleh ditetapkan tanpa menggunakan penghurai badan secara eksplisit.

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

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Meminta Entiti Terlalu Besar\' dalam Express.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn