用于文件下载的GraphQL端点

用于文件下载的GraphQL端点,graphql,apollo-server,Graphql,Apollo Server,是否可以在浏览器中从apollo server express应用程序上的GraphQL端点触发文件下载 我在一个标准的expressapp.get函数(见下文)中编写了端点,但我想利用GraphQL上下文进行文件下载,因此我想知道是否可能导致从GraphQL端点进行下载 下面是一个简单的例子,说明了我在app.get函数中的express end功能: app.get('/download-batch/:batchId', async (req, res) => { res.send

是否可以在浏览器中从
apollo server express
应用程序上的GraphQL端点触发文件下载

我在一个标准的express
app.get
函数(见下文)中编写了端点,但我想利用GraphQL上下文进行文件下载,因此我想知道是否可能导致从GraphQL端点进行下载

下面是一个简单的例子,说明了我在
app.get
函数中的express end功能:

app.get('/download-batch/:batchId', async (req, res) => {
  res.send(new Buffer('test'));
});

任何帮助我都将不胜感激。谢谢

是,但您需要为此创建自定义端点。无法使用正在用于发出请求的现有端点。 使用自定义端点,您必须添加一个中间件,并将数据处理到缓冲区或任何您需要的格式中。但不建议这样做。这将再次成为另一个端点,您可以编写一个API来为其服务。(毕竟graphql主要是基于单个端点构建的)。

Boštjan Cigan提到了一些解决方案,并给出了使用graphql作为Minio代理的细节。后端将要求Mino生成一个临时链接,该链接可以发送回浏览器进行直接访问


这对于许多用例来说都是一个有效的解决方案。

您好,我还需要从graphql端点下载csv。你找到解决办法了吗?@AshishPanchal我一直坚持这条路线,只通过普通的Express.js路线,但最近我还没有回来重温它。