Rumah > Artikel > hujung hadapan web > Bagaimana untuk Membetulkan \'Ralat: minta entiti terlalu besar\' dalam Express.js?
Pengguna Express mungkin menghadapi ralat "Ralat: minta entiti terlalu besar" semasa mengendalikan muatan besar. Isu ini timbul apabila permintaan masuk melebihi had saiz yang dikonfigurasikan.
Untuk menyelesaikan isu ini, pengguna boleh melaraskan had saiz permintaan menggunakan app.use(express. had(saiz)) middleware. Dalam contoh yang diberikan, had ditetapkan kepada 100,000,000 oktet.
Pastikan bahawa pengepala Panjang Kandungan dalam Fiddler sepadan dengan saiz tatasusunan JSON yang disiarkan. Dalam kes ini, pengepala menunjukkan nilai 1078702 oktet, yang bersamaan dengan 1.0787 megabait.
Satu penyelesaian yang mungkin adalah menggunakan app.use(express.bodyParser({limit : '50mb'})) bukannya app.use(express.limit(saiz)). Pendekatan ini telah dilaporkan berfungsi untuk sesetengah pengguna.
Jika penyelesaian di atas gagal, tampung sementara boleh digunakan dengan mengubah suai modul badan mentah secara langsung. Dengan menambah had = 52428800; pada baris 10 node_modules/express/node_modules/raw-body/index.js, had akan dipaksa kepada 50 megabait. Perhatikan bahawa ini adalah penyelesaian sementara dan bukan penyelesaian kekal.
Untuk penyelesaian yang lebih mantap, disyorkan untuk menggunakan modul penghurai badan dengan Ekspres 4 atau lebih baru. Coretan kod berikut menggambarkan cara mengkonfigurasi had saiz badan:
const bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb'}));
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'Ralat: minta entiti terlalu besar\' dalam Express.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!