[英]Error: request entity too large in graphql services of node
我正在基於節點的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-yoga 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/"
)
);
您是否正在使用graphql-express
npm軟件包?
如果是這樣,那么問題可能出在以下這一行: https : //github.com/graphql/express-graphql/blob/master/src/parseBody.js#L112
如您所見,這為請求設置了最大100kb的大小。
我們遇到了同樣的問題,並通過分叉存儲庫來解決此問題,並手動增加了最大請求大小。
不過,這可能是一個為包裝做出貢獻的好機會! 如果限制是可配置的,那就太好了。
對我來說,我指定了上傳文件,並且可以正常工作:
const options = {
uploads: {
maxFieldSize: 1000000000,
maxFileSize: 1000000000
}
}
bodyParser
僅與req.body
一起req.body
,在您的情況下,您正在處理多部分表單
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.