2017-01-05 1 views
1

Je travaille sur un projet graphql basé sur un noeud, essayant d'envoyer l'image au format base64 au serveur. J'utilise le module Bodyparser et je l'ai configuré comme ci-dessous.Erreur: entité de requête trop grande dans les services graphql du noeud

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

app.use(bodyparser.json({limit: '50mb'})); 
app.use(bodyparser.urlencoded({limit: '50mb', extended: true})); 

Je suis en mesure d'envoyer des images base64 par les services de noeuds directs mais quand il vient à graphql services, il est l'erreur lançaient comme:

Error: request entity too large

+0

Essayez de définir le type. var urlencodedParser = bodyParser.urlencoded ({étendu: vrai, limite: 1024 * 1024 * 20, tapez: 'application/x-www-form-urlencoding'}) – digit

+0

Thanq pour votre réponse @digit, je l'ai essayé mais travaillé pour moi. –

Répondre

0

Utilisez-vous le package graphql-express NGP?

Si oui, alors le problème est probablement cette ligne: https://github.com/graphql/express-graphql/blob/master/src/parseBody.js#L112

Comme vous pouvez le voir fixe une taille maximale de 100 Ko pour la demande.

Nous avons rencontré le même problème et nous l'avons corrigé en forçant le référentiel et en augmentant manuellement la taille maximale de la requête.

Cela pourrait être une bonne opportunité de contribuer au package! Ce serait bien si la limite était configurable.

+0

Bonjour, merci pour votre réponse, j'utilise le module "graphql", pas le module "graphql-express". –

+0

Ahh ok intéressant. Souvent, vous utiliserez les deux paquets en même temps. Le paquet 'graphql' traite le schéma, les types, les résolveurs, etc. tandis que' express-graphql' prend un schéma créé à partir du paquet 'graphql' et l'expose à Internet via un serveur web express. – mparis