使用 apollo 客户端在 react.js 中上传文件

Posted

技术标签:

【中文标题】使用 apollo 客户端在 react.js 中上传文件【英文标题】:file upload in react.js using apollo client 【发布时间】:2021-04-04 11:32:39 【问题描述】:

我试图将文件上传到我的 apollo 服务器,但我无法上传任何文件,它不会引发任何错误,但我在解析器中只收到空对象,当我使用 GraphQL 客户端时它可以找到 strong> 喜欢 Altair

使用 Altair Client 时在服务器中输出


    filename: 'Copy of Massive Orange Summer Sale Animated-300x250px-MediumRectangle.png',
    mimetype: 'image/png',
    encoding: '7bit',
    createReadStream: [Function: createReadStream]

使用@apollo/client 包时在服务器中的输出


客户端代码

服务器代码

【问题讨论】:

请勿发布代码图片。 @peace 请分享代码而不是图片链接 【参考方案1】:

Apollo 客户端默认不支持上传。如果要启用它们,则需要使用来自apollo-upload-clientcreateUploadLink,如here 所示。

import  createUploadLink  from 'apollo-upload-client';

const client = new ApolloClient(
  cache: new InMemoryCache(),
  link: createUploadLink(),
);

【讨论】:

以上是关于使用 apollo 客户端在 react.js 中上传文件的主要内容,如果未能解决你的问题,请参考以下文章

React JS + Apollo 客户端查询错误:“网络错误:无法获取”。从手机打电话时

如何在 react/js 中映射别名 graphql 查询?

使用 node.js 和 react.js 客户端启动一个 firebase 功能项目

如何在单个项目中使用多个版本的 Apollo 客户端

如何在 apollo 客户端策略中使用 readField 来选择具有参数的查询

如何在生产中使用 apollo 订阅