Node.js Express. Большой корпус для тела


Я использую Express.js ver 4.2 и хочу разобрать большую запись (150K - 1M), но получает сообщение об ошибке "слишком большой объект запроса". Кажется, что предел равен 100 К. Я не сейчас, как изменить предел в Express 4. В Express 3.x я просто сделал -

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

Как изменить лимит в Express 4?

Спасибо за любую помощь.

Ответ 1

С Express 4 вам необходимо установить модуль body-parser и использовать его вместо этого:

var bodyParser = require('body-parser');

// ...

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({limit: '5mb'}));

Ответ 2

Mscdex работает, но мы должны добавить еще один параметр, чтобы избежать предупреждения.

app.use(bodyParser.urlencoded({limit: '5mb', extended: true}));

Ответ 3

Экспресс v4.xx

Node.js v9.xx

Это зависит от того, получаете ли вы данные как JSON или через параметризованный запрос URL.

У меня была такая же проблема с отправкой большого буфера JSON. Файл был ~ 43 КБ, и я был от моего промежуточного программного обеспечения до экспресс-API.

Я обработал его как таковой:

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ extended: false }));

Это исправило проблему для меня, когда тело было большим объектом JSON.