2017-01-05 37 views
1

我正在研究基於節點的graphql項目,試圖將base64格式的圖像發送到服務器。錯誤:在graphql服務中請求實體節點太大

我正在使用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包

Error: request entity too large

+0

嘗試設置類型。 var urlencodedParser = bodyParser.urlencoded({extended:true,limit:1024 * 1024 * 20,type:'application/x-www-form-urlencoding'}) – digit

+0

Thanq for your response @digit,爲我工作。 –

回答

0

如果是這樣那麼問題可能是這一行: https://github.com/graphql/express-graphql/blob/master/src/parseBody.js#L112

正如你可以看到這臺100KB的最大尺寸的請求。

我們遇到了同樣的問題,並通過分叉庫並手動增加最大請求大小來修復它。

雖然這可能是一個很好的機會來貢獻包! 如果限制是可配置的,那將會很好。

+0

嗨,thanq爲您的迴應,我使用「graphql」模塊,而不是「graphql-express」模塊。 –

+0

啊,好吧有趣。通常你會同時使用這兩個軟件包。 'graphql'包處理模式,類型,解析器等,而'express-graphql'從'graphql'包創建模式,並通過快速Web服務器將其暴露給互聯網。 – mparis

相關問題