Error: There can be only one type named "Upload" - Apollo, Express, Type-Graphql

Error: There can be only one type named "Upload" - Apollo, Express, Type-Graphql

我正在尝试 运行 一个简单的 Mutation 以上传图片,但我遇到了这个错误: "Error: There can be only one type named "上传”。”

这是我的代码

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

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

我使用 Apollo 和 Express 作为服务器,使用 Typescript 和 Type-Graphql

此错误的原因是 Apollo 2.0 的“文件上传”功能。

您可以阅读有关此功能的更多信息 link:

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

包 'graphql-upload' 具有标量类型上传,Apollo 服务器也使用 'graphql-upload' 来处理文件上传。

也许您可以使用 apollo 的“文件上传”功能解决这个问题,或者,重命名来自 'graphql-upload' 的上传文件。