是否可以从apollo-server-express
应用程序上的GraphQL端点触发浏览器中的文件下载?
我的端点是用标准的Express app.get
函数编写的(请参见下文),但是我想利用GraphQL上下文进行文件下载,所以我想知道是否有可能导致从GraphQL端点。
这是我在app.get
函数的快速端获得的一个简单例子:
app.get('/download-batch/:batchId', async (req, res) => {
res.send(new Buffer('test'));
});
任何帮助我将不胜感激。谢谢!
答案 0 :(得分:2)
是,但是您将需要为此创建自定义端点。您不能使用用于发出请求的现有端点。 使用自定义端点,您必须添加中间件并将数据处理到缓冲区或所需的任何格式中。但这是不推荐的。那将再次成为另一个端点,而您可以编写一个API来服务于此。(毕竟graphql主要建立在单个端点的关注上)。
答案 1 :(得分:0)
Boštjan Cigan 提到了 here 一些解决方案,并提供了有关使用 GraphQL 作为 Minio 代理的详细信息。后端会要求 Mino 生成一个临时链接,该链接可以发送回浏览器进行直接访问。
这是许多用例的有效解决方案。