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

Mary-Kate Olsen
Lepaskan: 2024-11-28 03:51:11
asal
419 orang telah melayarinya

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'));
Salin selepas log masuk

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'}));
Salin selepas log masuk

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
Salin selepas log masuk

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'}));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan