Node.js 错误:节点的graphql服务中的请求实体太大

Node.js 错误:节点的graphql服务中的请求实体太大,node.js,graphql,body-parser,Node.js,Graphql,Body Parser,我正在从事基于节点的graphql项目,试图将base64格式的图像发送到服务器 我正在使用bodyparser模块,并将其配置为以下内容 app.use(bodyparser.text({type: 'application/graphql'})); app.use(bodyparser.json({limit: '50mb'})); app.use(bodyparser.urlencoded({limit: '50mb', extended: true})); 我能够通过直接节点服务发送

我正在从事基于节点的graphql项目,试图将base64格式的图像发送到服务器

我正在使用bodyparser模块,并将其配置为以下内容

app.use(bodyparser.text({type: 'application/graphql'}));

app.use(bodyparser.json({limit: '50mb'}));
app.use(bodyparser.urlencoded({limit: '50mb', extended: true}));
我能够通过直接节点服务发送base64图像,但当涉及graphql服务时,会抛出错误,如下所示:

错误:请求实体太大


您是否正在使用
graphql express
npm包

如果是这样,那么问题可能是这一行:

如您所见,这将请求的最大大小设置为100kb

我们遇到了同样的问题,并通过分叉存储库和手动增加最大请求大小来修复它

这可能是一个很好的机会,但有助于包!
如果限制是可配置的,那就太好了。

为了帮助其他使用graphql瑜伽npm包的人。添加bodyparser选项的语法非常不同,我花了数小时调试并尝试使其工作,因此在此处添加代码以供参考:

const { GraphQLServer } = require("graphql-yoga");

const server = new GraphQLServer({
  schema,  //Your schema
  context, //Your context
});

const options = {
  port: 1234
  bodyParserOptions: { limit: "10mb", type: "application/json" },
};

server.start(options, () =>
  console.log(
    "Server is running\m/" 
  )
);

对我来说,我指定了上传,并且成功了:

const options = {
  uploads: {
    maxFieldSize: 1000000000,
    maxFileSize: 1000000000
  }
}

bodyParser
仅适用于
req.body
并且在您处理多部分表单时,请尝试设置类型。var urlencodedParser=bodyParser.urlencoded({extended:true,limit:1024*1024*20,type:'application/x-www-form-urlencoding'})Thanq对于您的响应@digit,我尝试过,但对我无效。嗨,Thanq对于您的响应,我使用的是“graphql”模块,而不是“graphql express”模块。啊,好的,很有趣。通常,您将同时使用这两个包。
graphql
程序包处理架构、类型、解析程序等,而
express graphql
则获取从
graphql
程序包创建的架构,并通过express web服务器将其公开到internet。您好,找不到您提供的链接。请更新。