错误:只能有一种名为“Upload”的类型 - Apollo、Express、Type-Graphql

Posted

技术标签:

【中文标题】错误:只能有一种名为“Upload”的类型 - Apollo、Express、Type-Graphql【英文标题】:Error: There can be only one type named "Upload" - Apollo, Express, Type-Graphql 【发布时间】:2020-03-11 16:37:36 【问题描述】:

我正在尝试运行一个简单的 Mutation 来上传图像,但我遇到了这个错误: “错误:只能有一种名为“上传”的类型。”

这是我的代码

import  FileUploadI, GraphQLUpload  from 'graphql-upload'

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

我正在使用 Apollo 和 Express 作为服务器以及带有 Type-Graphql 的 Typescript

【问题讨论】:

【参考方案1】:

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

您可以在以下链接中阅读有关此功能的更多信息:

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

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

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

【讨论】:

以上是关于错误:只能有一种名为“Upload”的类型 - Apollo、Express、Type-Graphql的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 5 没有名为 upload 的成员

R语言-数据类型及查看方式

upload_labs靶场

Flutter 抽象类类型异常

模块“Alamofire”没有名为“upload”的成员

面试官:有一种数据类型,Redis 要存两次,为什么?