typescript - Erreur : Il ne peut y avoir qu'un seul type nommé "Upload" - Apollo, Express, Type-Graphql


J'essaie d'exécuter une mutation simple afin de télécharger une image, mais je suis bloqué avec cette erreur : "Erreur : Il ne peut y avoir qu'un seul type nommé "Upload"."

c'est mon code

import { FileUploadI, GraphQLUpload } from 'graphql-upload'

@Mutation(() => Picture)
  async uploadPicture(@Arg('data', () => GraphQLUpload) data: FileUploadI): Promise<Picture> {
    //.. implementation
  }

J'utilise Apollo et Express comme serveur et Typescript avec Type-Graphql

Réponse #1

La raison de cette erreur est la fonction « Téléversement de fichiers » d’Apollo 2.0.

Vous pouvez en savoir plus sur cette fonctionnalité en suivant ce lien :

https://www.apollographql.com/blog/file-uploads-with-apollo-server-2-0-5db2f3f60675

Le paquet 'graphql-upload' possède un type scalaire Upload et le serveur Apollo utilise également 'graphql-upload' pour gérer les téléversements de fichiers.

Peut-être que vous pouvez résoudre ce problème en utilisant la fonction « téléversement de fichiers » d'Apollo, ou en renommant le téléversement provenant de 'graphql-upload'.