增加 apollo-server-express 中的正文限制大小

问题描述 投票:0回答:2

我正在尝试使用 apollo-server-express 中的上传标量将文件上传到网络服务。我可以将小文件(10 kbs)上传到网络服务,但在发送较大的文件时遇到问题。

我做了一些搜索,发现我可以使用 body-parser 包以及中间件中设置的 bodyParserConfig 选项来更改正文大小限制。我尝试过实现这个,以及在 Express 应用程序本身中实现它,但是似乎都不起作用。

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)告诉我它无法接收内容。大多数解决方案的示例(如上面的示例)都是专门针对 Express 而不是 apollo-express-server 的,因此我不确定是否需要采取不同的方法。 apollo-server 文档声明使用 bodyParserConfig 选项,所以我想知道我是否没有正确格式化配置。 有什么简单的事情我做错了吗?另外我如何查看限制是多少?很难调试并查看我设置的选项是否真正起作用。

谢谢

express body-parser apollo-server
2个回答
0
投票

您可以将此消息发送到其他类型的网络服务吗?
  1. 您可以从 NiFi 中的其他工具接收此消息吗?
  2. 您没有提到消息有多大,但似乎在发送时您尝试将限制设置为 50MB。

我认为这对 NiFi 来说一般来说不是问题,但如果您专门使用 multipart/form-data,则默认限制设置为 1MB。

这可以通过设置进行调整:

Multipart Request Max Size

    


0
投票

server.applyMiddleware({ app, bodyParserConfig: { limit: '10mb', }, });

	
© www.soinside.com 2019 - 2024. All rights reserved.