问题描述
根据他们提到的 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,});
但在这种情况下,当我尝试上传图像时出现以下错误,如下图所示 当它通过网络检查有上述响应时,
POST 正文丢失。你忘记使用 body-parser 中间件了吗?
我尝试了很多方法来解决这个问题,您可以按照以下链接获取完整的代码库 code base
如果从 apollo 构造函数中删除 upload: false 和标量类型并尝试运行它,它将仅适用于节点 12,不适用于节点 14
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)