如何使 HttpServletRequest 保持活动状态以供 Excel 下载

How to keep a HttpServletRequest alive for an Excel Download

我向服务器发送请求,开始创建 Excel-工作簿。问题是当我处理大量数据时请求超时。我通过 HttpResponse 的 ServletOutputStream 发回 Excel-Workbook。

我尝试使用响应的 PrintWriter 使请求保持活动状态,但这将我带到了另一个我不想要的页面。当我将数据写入 OutputStream 时,Excel-文件被损坏。

有没有简单的方法解决这个问题,还是会很复杂?

谢谢

我想你有两个选择:

  1. 在生成 Excel 时将其流式传输到客户端。只要你发送数据,请求就不会超时。

  2. 如果无法进行流式传输,您可以异步创建文件并在完成后允许下载