java - GWT - 在加载文件之前执行简单加载屏幕的最简单方法

标签 java gwt asynchronous download

单击按钮时,我的 GWT 应用程序返回嵌入在 HTML 页面中的 PDF 文件,如下所示:

<html><head></head>
<body marginwidth="0" marginheight="0" bgcolor="rgb(38,38,38)">
<embed width="100%" height="100%" name="plugin"
    src="http://myserver/?cmd=getMyPdf" type="application/pdf">
</body>
</html>

问题是服务器创建这个 PDF 文件可能需要一段时间,所以我想要的是一个带有加载动画的等待屏幕,它可以在后台下载 PDF 文件,然后当文件完成时,如上所述显示页面。

一种明显的方法是显示加载页面,向服务器发送异步命令,然后在调用 onSucceed 方法后,正常调用页面。缺点是我必须添加一些服务器端逻辑才能在后台创建 PDF...

有什么方法可以使用 GWT API 在客户端执行此操作吗?

最佳答案

你看到这个 stackoverflow 问题了吗 Detect when browser receives file download ?基本上给出的答案是您在返回响应中设置一个 cookie 并在客户端等待设置此 cookie。这可以使用 GWT 轻松完成,因为它有一个调度程序(用于重复的计时器检查)并且可以轻松访问 Cookie。您仍然需要对服务器进行一些更改,但不必创建后台进程。

关于java - GWT - 在加载文件之前执行简单加载屏幕的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042139/

相关文章:

java - StrutsPrepareAndExecuteFilter 与 StrutsPrepareFilter 和 StrutsExecuteFilter

java 。如何向每一行添加文本

java - Exchange 日历、创建约会和唯一 ID

java - GWT java.io.File 服务器包

java - Windows 无法删除具有大路径的文件

asynchronous - swift 3 : Why is OS_dispatch_queue_serial the default queue?

javascript - 在 JS 上创建一个必须从 RESTFUL API 获取数据的模块

java - 为什么我收到UnsatisfiedLinkError

javascript - GWT 计时器取消不起作用

javascript - 在回调函数之前调用函数