我正在尝试使用apollo-server-express中的Upload标量将文件上传到Web服务。我可以将小文件(10 kbs)上传到Web服务,但是在发送较大文件时遇到了麻烦。
我进行了一些搜索,发现可以使用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(config)的apollo服务中使用json方法,所以我尝试了一下,但它也没有起作用。
const bodyParserConfig = {limit: '50mb'};
server.applyMiddleware({ app, path: process.env.GRAPHQL_ENDPOINT, bodyParserConfig});
表达示例片段
app.use(bodyParser.json({limit: '50mb'}))
尝试这两个选项以及Error: request entity too large中的选项似乎都不适合我。 webservice(Nifi HTTPHandleRequest)告诉我它未能接收内容。解决方案的大多数示例(如上述解决方案)都是专门针对快递的,而不是针对apollo-express-server的,因此我不确定是否需要采用其他方法。阿波罗服务器文档指出要使用bodyParserConfig选项,因此我想知道我是否没有正确格式化配置。
我做错了什么简单的事情吗?另外,我如何查看限制?很难调试,看看我设置的选项是否实际上在做什么。
谢谢
答案 0 :(得分:0)
我想调试的第一步是弄清楚发送或接收时是否发生故障。
您没有提到消息有多大,但似乎在发送时您尝试将限制设置为 50MB。
我不认为这对 NiFi 来说一般来说是一个问题,但如果您专门使用 multipart/form-data,默认限制设置为 1MB。
这可以通过设置进行调整:Multipart Request Max Size