【问题标题】:Servlet: Force Browser (Google Chrome) to Open 'Save As' Dialog ImmediatelyServlet:强制浏览器 (Google Chrome) 立即打开“另存为”对话框
【发布时间】:2014-03-23 18:05:48
【问题描述】:

我有一个 servlet (Java EE),它返回一个大的 pdf 文件到 UI/浏览器 (HTML & JavaScript) 以供下载。服务器生成文件需要 10-20 秒,所以我试图尽快弹出另存为对话框,以避免浏览器延迟、用户混淆、等待等。

我只想发送标头等只是为了建立连接,当服务器完成工作后,我们会刷新剩余的有效负载。

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

任何帮助表示赞赏。

【问题讨论】:

    标签: java javascript google-chrome jakarta-ee servlets


    【解决方案1】:

    我通过设置 content-disposition 标头来修复它,下面是非 java 语法

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

    【讨论】:

      【解决方案2】:

      response.setContentType("application/octet-stream");

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        相关资源
        最近更新 更多