用IE下载强制文件

时间:2014-03-12 10:31:28

标签: html file internet-explorer hyperlink download

我必须通过HTML链接打开文件。 该文件的位置位于另一台计算机上,并由IP地址(通过自定义服务器工具)进行处理 EG:

<a href="http://localhost:PORT/FILE.dotx" download>Download</a>

这适用于firefox和chrome,但IE(版本8)将文件解释为xml-File并尝试直接打开它。

无法升级或更改客户端的浏览器。

是否可以在不使用PHP,VB或Rails的情况下强制IE下载文件? (因为我们没有apache服务器或类似的东西)

1 个答案:

答案 0 :(得分:1)

lighttpd.conf示例,需要mod_setenv:

$HTTP["url"] =~ "\.pdf\?dl$" {
    setenv.add-response-header  = ( "Content-Disposition" => "attachment")
}

这是唯一可靠的方式。 IE不会信任MIME类型,因为旧的Apache缺陷解决方法是Apache发送了错误的MIME类型,并且Microsoft&#34; 修复了它&#34;。

虽然所有pdf文件都可以简单地给出下载标题,但我选择显示更简洁的方式 - 只有参数?dl激活此行为。普通的pdf仍将显示在浏览器中,只有附加?dl的链接才能获得特殊处理。

我实际上是在我的服务器上使用这种技术,但它是在php中实现的,因为我无法单独使用静态处理程序。由于我通过这个提供图像,我还添加Cache: no-transform标题以防止Opera Turbo重新压缩要下载的文件。

编辑:修正了处理词 - 必须大写,以便在基于Webkit的浏览器中工作。

相关问题