1

我有一个下载 servlet,它生成一个包含一些文件的 ZIP,其中一个非常大,然后在响应中发送生成的文件以供下载。

问题是生成过程相当大,从生成de ZIP的步骤到下载步骤(当用户看到下载对话框时)之间可能会经过几秒钟甚至一分钟。所以我想通过无论如何通知用户该文件正在生成。

我正在考虑的解决方案是执行几个请求,一个用于打开通知用户的模式窗口并在其中执行另一个请求,然后自动对在临时位置生成文件的操作执行另一个请求,然后,当请求结束时,另一个关闭窗口(窗口必须自动关闭)然后请求下载servlet在最后一步生成的文件。

如果有人了解我想要做什么,我希望是否存在更好、更清洁的解决方案。

4

1 回答 1

1

您可以触发将启动生成过程的 ajax 请求,然后如果文件准备就绪,则其他 ajax 请求会轮询服务器。如果是 - 将浏览器的位置更改为文件。否则,显示“加载”消息/图像/..

于 2011-01-26T14:43:34.143 回答