【问题标题】:PDF file download not working only for iPad specific browsersPDF 文件下载不适用于 iPad 特定浏览器
【发布时间】:2012-12-25 08:16:04
【问题描述】:

在服务器端生成一个PDF文件并推送到客户端进行下载。虽然下载适用于 windows 上的所有浏览器,但在 IPAD 上失败。 请指教。

规格:OS 6、Safari 6.1、Chrome 23.0.1271.100

请注意:在此应用程序中,pdf 不会下载到新网址(无重定向)。

一般行为:iPad 浏览器(safari / chrome)不支持下载窗口,因此它应该打开 pdf 并提供在 pdf 兼容应用程序中查看的选项。目前没有发生。

当我调试以下 servlet 操作代码以供下载时,pdf 文件在服务器上成功生成,但 Ipad 上的浏览​​器不显示:-(

代码示例:

/** 设置响应头 **/

      response.setHeader("Content-Type", "application/pdf");
      response.setHeader("Content-Disposition", "attachment;filename=sample.pdf"); 
      response.setHeader("Connection", "close");
      response.setHeader("Cache-Control","cache");
      response.setHeader("Pragma","cache");
      response.setDateHeader ("Expires", dt.getTime() + 100000);

/** 写入输出**/

      InputStream stream = info.getInputStream(); 
      OutputStream os = response.getOutputStream();
      try {
            response.setContentType(contentType);
            copy(stream, response.getOutputStream());
      }
      finally {
      if (stream != null) {
         stream.close();
      }
 }

【问题讨论】:

    标签: ipad google-chrome pdf safari


    【解决方案1】:

    经过测试,上面粘贴的下载操作代码似乎工作正常,因为问题是特定于浏览器的。

    Andriod Tablet - Firefox 浏览器将 pdf 下载到弹出窗口。 iPad:Safari - FIX:强制内容在新标签页中打开,如下所示:

    window.open(print_url);

    其中 print_url 是 baseurl+action.do+additional_parameter。

    【讨论】:

      【解决方案2】:

      要显示 pdf 而不是要求浏览器保存它,请使用“内联”而不是“附件”。

      response.setHeader("Content-Disposition", "inline;filename=sample.pdf"); 
      

      另外,您设置了两次内容类型,一次在标题中,一次使用setContentType()。 我不确定这两个标头是否相互作用或相互抵消,因此不能确定这是错误的来源,但似乎需要考虑更改。

      【讨论】:

      • 1.内容处置“内联”似乎确实适用于操作系统。在 Safari 和 chrome 浏览器上尝试过。 2. 有趣的一点是 setHeader(Content-Type,xxx) v/s setContentType 在 Ipad 中尝试了排列和组合并没有帮助,但在 windows firefox 上清楚地显示 setContentType 是必须的。我的问题仍然没有解决。您的见解会很有帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 2016-09-11
      • 2011-09-29
      • 2018-05-15
      相关资源
      最近更新 更多