web-dev-qa-db-fra.com

Point de terminaison GraphQL pour le téléchargement de fichier

Est-il possible de déclencher un téléchargement de fichier dans un navigateur à partir du noeud final GraphQL sur une application apollo-server-express?

J'ai le noeud final écrit dans une fonction standard express app.get (voir ci-dessous), mais j'aimerais utiliser le contexte GraphQL pour le téléchargement de fichier. Je me demande donc s'il est possible de provoquer un téléchargement depuis un noeud final GraphQL.

Voici un exemple sans faille de ce que j'ai dans la partie express de la fonction app.get:

app.get('/download-batch/:batchId', async (req, res) => {
  res.send(new Buffer('test'));
});

Toute aide me serait très appréciée. Merci!

6
jasonmerino

Oui, mais vous devrez créer un point de terminaison personnalisé pour cela. Vous ne pouvez pas utiliser le point de terminaison existant que vous utilisez pour effectuer des demandes. À l’aide du noeud final personnalisé, vous devez ajouter un middleware et traiter les données dans une mémoire tampon ou dans le format de votre choix. Mais ce ne serait pas recommandé. Cela deviendrait à nouveau un autre point de terminaison à la place duquel vous pourrez écrire une API afin de le servir.

1
Sandeep Kumar