首页 > 解决方案 > 在服务器创建文件以供下载时让客户端挂起

问题描述

在带有 Node.js + Express 的服务器上,我有一个 API,用于将一百万条记录从数据库导出到文件,然后需要由客户端下载。我现在是怎么做的:在客户端等待响应时创建文件,这大约需要 2 分钟,当文件准备好时执行res.download(file)

它在本地运行良好,但在部署时出现网关 504 错误。最初,我尝试在通过 DB 游标时将数据通过管道传输到客户端,但速度太慢,因此我实现了多线程机制,并且无法再通过管道传输。

有没有办法解决这个问题?也许通过向客户端打开响应流但在文件准备好下载之前不发送任何内容。不确定这是否可能?

标签: node.jsrestexpressdownload

解决方案


推荐阅读