Увеличение размера тела в apollo-server-express

Я пытаюсь загрузить файлы в веб-сервис, используя скаляр Upload в apollo-server-express. Я могу загружать небольшие файлы (10 КБ) в веб-сервис, но у меня возникают проблемы с отправкой больших файлов.

Я немного поискал и обнаружил, что могу изменить предельный размер тела с помощью пакета body-parser вместе с параметром bodyParserConfig, установленным в промежуточном программном обеспечении. Я пытался реализовать это, а также реализовать его в самом экспресс-приложении, однако ни один из них не работает.

Фрагмент примера bodyParserConfig

const bodyParserConfig = bodyParser.urlencoded({limit: '50mb', extended: 'true', parameterLimit: 10000});


server.applyMiddleware({ app, path: process.env.GRAPHQL_ENDPOINT, bodyParserConfig});

Я не уверен, нужно ли мне использовать метод json, так как внутри службы apollo он вызывает json (config), поэтому я попробовал это, и это также не сработало.

const bodyParserConfig = {limit: '50mb'};


server.applyMiddleware({ app, path: process.env.GRAPHQL_ENDPOINT, bodyParserConfig});

фрагмент экспресс-примера

app.use(bodyParser.json({limit: '50mb'}))

Пробуем оба этих варианта, а также варианты из Ошибка: объект запроса слишком велик не работает для меня. Веб-сервис (Nifi HTTPHandleRequest) сообщает мне, что ему не удалось получить контент. Большинство примеров решений (например, приведенных выше) были специально для экспресс-сервера, а не для apollo-express-server, поэтому я не уверен, что мне нужно использовать другой подход. В документах сервера apollo указывается, что используется параметр bodyParserConfig, поэтому мне интересно, правильно ли я форматирую конфигурацию.

Есть ли что-то простое, что я делаю неправильно? Также, как я могу посмотреть, каков предел? Трудно отладить и посмотреть, действительно ли параметры, которые я устанавливаю, что-то делают.

Спасибо


person Exuro    schedule 01.04.2019    source источник
comment
Вы решили эту проблему? Я сталкиваюсь с той же проблемой!   -  person Sheyar    schedule 27.12.2020


Ответы (1)


Я предполагаю, что первый шаг в отладке — выяснить, происходит ли сбой при отправке или получении.

  1. Можете ли вы отправить это сообщение на другой веб-сервис?
  2. Можете ли вы получить это сообщение из другого инструмента в NiFi?

Вы не указываете, насколько велики сообщения, но кажется, что при отправке вы пытаетесь установить ограничение в 50 МБ.

Я не думаю, что это проблема для NiFi в целом, но если вы специально используете multipart/form-data, ограничение по умолчанию установлено на 1 МБ.

Это можно настроить с помощью настройки: Multipart Request Max Size

person Dennis Jaheruddin    schedule 12.04.2021