Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Ralat \'Meminta Entiti Terlalu Besar\' dalam Express.js?
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!