Java Servlet:强制浏览器(谷歌浏览器)打开';另存为';立即对话

Java Servlet:强制浏览器(谷歌浏览器)打开';另存为';立即对话,java,javascript,google-chrome,jakarta-ee,servlets,Java,Javascript,Google Chrome,Jakarta Ee,Servlets,我有一个servlet(javaee),它将一个大的pdf文件返回到UI/browser(HTML和JavaScript)进行下载。服务器生成文件需要10-20秒,因此我尝试尽快弹出“另存为”对话框,以避免浏览器延迟、用户混淆、等待等 我只想发送头等,只是为了建立连接,当服务器完成它的工作时,我们刷新剩余的负载 我发送后立即头和刷新缓冲区。这在firefox中运行良好,浏览器显示对话框,从而消除浏览器等待,并产生下载已开始的错觉,,,这不适用于chrome 感谢您的帮助。response.set

我有一个servlet(javaee),它将一个大的pdf文件返回到UI/browser(HTML和JavaScript)进行下载。服务器生成文件需要10-20秒,因此我尝试尽快弹出“另存为”对话框,以避免浏览器延迟、用户混淆、等待等

我只想发送头等,只是为了建立连接,当服务器完成它的工作时,我们刷新剩余的负载

我发送后立即头和刷新缓冲区。这在firefox中运行良好,浏览器显示对话框,从而消除浏览器等待,并产生下载已开始的错觉,,,这不适用于chrome


感谢您的帮助。

response.setContentType(“应用程序/八位字节流”)

我通过在下面设置内容处置头、非java语法来修复它

header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");