我们有许多使用 Lighttpd 托管的 PDF,但是当在 IE (7.0.5730.13) 中下载它们时,文件下载在最后挂起并且无法完成。例如

http://static.vouchercodes.co.uk/printable/87-burger-king-voucher.pdf

http://static.vouchercodes.co.uk/printable/10-gbk.pdf

这在 OSX 10.5 和 Windows XP 上的 Firefox (3.0.5) 中运行良好,但在 IE 7 上则不行。

可以在以下位置查看挂起下载的屏幕截图: http://www.mytton.net/so-pdf-q.png

这并未本地化到一台计算机上,并且已在其他 IE7 Windows PC 上复制。该问题仅影响 Vouchercodes.co.uk 网站上的 PDF,而其他包含 PDF 的网站工作正常。

它也被复制到其他版本的 IE7/IE6,但不一致。

有帮助吗?

解决方案 2

该问题与字节服务有关。请参阅 的 Byteserving 部分 http://httpd.apache.org/docs/1.3/misc/known_client_problems.html

Adobe Acrobat Reader 插件使 广泛使用 byteranges 和 prior 到 3.01 版,只支持 multipart/x-byterange响应。遗憾的是,没有任何线索表明 是提出请求的插件。如果 该插件与 Navigator 一起使用时,其 上述解决方法很有效。但如果 该插件与 MSIE 3 一起使用(在 Windows) 解决办法不起作用 因为 MSIE 3 不提供 范围-请求导航仪提供线索 没有。为了解决这个问题,阿帕奇 特殊情况下 "MSIE 3 "中的 用户代理和服务 multipart/x-byteranges.请注意 使用 MSIE 3 时的必要条件是 实际上是因为 Acrobat 插件的缘故、 而不是因为浏览器。

这也是 Lighttpd 中的一个问题,记录在 http://redmine.lighttpd.net/issues/show/171 解决方法(已测试且有效)位于 注8.

其他提示

我认为这是 IE 下 acrobat 插件的渐进式下载问题。

您的 lighttpd 服务器正在应答 HTTP/1.1 206 Partial Content 这有时会导致 acrobat 客户端中的下载进度出现奇怪的停滞

一些解决该问题的方法:

  • 创建 pdf 文件时不要使用“另存为针对快速 Web 查看而优化”选项
  • 取消选中 Acrobat Reader 的“允许后台下载整个文件”首选项
  • 禁用服务器的 byteserving 能力(但这显然不推荐)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top