导出/下载客户端上带有状态的动态文件



我有一个具有导出功能的angularjs应用程序。 导出会动态生成服务器端文件。 此文件的生成可能需要几秒钟到几分钟。 我希望能够为用户提供服务器正在生成文件的某种状态。 即使它只是页面上的微调器,让用户知道正在发生的事情。

然而,我的问题是这个。 我不是在角度中将"GET"请求作为资源。 我只是在设置:

window.location.href

指向将启动文件生成的服务器上的 URL,并将其发送回客户端。

这意味着,如果文件需要 1 分钟来生成浏览器的下载对话框,直到该分钟过去并且文件准备好下载时才会弹出。

有没有办法发出 GET 请求进行文件下载,然后在 get 请求成功时获得回调?

您可以在隐藏的 iframe 中启动文件下载并显示加载器,并在使用 onload 事件处理程序加载 iframe 时隐藏加载器。

下面的示例代码只是为了给你一个想法 -

hiddenIframe.src = url;
loader.show();
hiddenIframe.onload = function() {
   loader.hide();
};

最新更新