【发布时间】:2020-12-24 04:29:00
【问题描述】:
我对 GraphQL 有点陌生,这个问题属于“不可能这么难。我必须遗漏一些东西。”
我有一个相当标准的 GraphQL/Apollo/React 应用程序,分为客户端和服务器。客户端进行 API 调用并从服务器取回数据时一切正常。客户端甚至可以将文件上传到服务器。但是,我现在需要服务器流回保存在磁盘上的文件。就是这样。
这是“我必须遗漏一些东西”的部分。我在文档和 Stackoverflow 上看到的所有内容都是从服务器推送文件并通过 GraphQL 查询作为 base64-endoced 字符串然后在客户端上做一些非常hacky的东西的一些变体,通常涉及隐藏的 href 标签和模拟点击。对此我说,“什么???”
说真的。磁盘上有服务器知道如何查找的文件。客户端需要向用户显示一个按钮,他们可以单击该按钮来下载文件。而已。其他所有语言的所有其他框架都有一个简单的方法来做到这一点。有人可以告诉我我在这里缺少的非常简单的东西吗?
谢谢, 亚历克斯
【问题讨论】:
-
只返回 url,用 src 渲染 img 和浏览器将完成剩下的工作...... REST API 以同样的方式依赖浏览器行为......采用“纯”它应该响应一些数据,而不是一些标头更改了到达的数据上下文,根本没有响应采购客户端