在节点 14 上上传图像时出现 Apollo Grapgql 错误

问题描述

根据他们提到的 Apollo graphql 站点

Apollo Server 对文件上传的内置支持依赖于旧版本的 graphql-upload npm 包以实现向后兼容性。此旧版本与 Node 14 不完全兼容。

由于这个原因,我通过将 uploads: false 传递给 ApolloServer 构造函数来禁用内置支持。然后你可以直接安装和使用最新版本的graphql-upload,如下所示,

const server = new ApolloServer({
  typeDefs: gql`
  
    scalar Upload
  
    // here other typedefs
  `,resolvers: {
    Upload: GraphQLUpload,Query: {
      hello: () => "hey!"
    },Mutation: {

      singleUpload: s3Uploader.singleFileUploadResolver.bind(s3Uploader),multipleUpload: s3Uploader.multipleUploadsResolver.bind(s3Uploader)
    }
  },uploads:false,});

在这种情况下,当我尝试上传图像时出现以下错误,如下图所示

enter image description here

当它通过网络检查有上述响应时,

POST 正文丢失。你忘记使用 body-parser 中间件了吗?

我尝试了很多方法解决这个问题,您可以按照以下链接获取完整的代码code base

如果从 apollo 构造函数删除 upload: false 和标量类型并尝试运行它,它将仅适用于节点 12,不适用于节点 14

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)