文件下载在IE浏览器中无法正常工作?

时间:2013-07-02 09:37:08

标签: javascript jquery html html5 internet-explorer

我正在使用HTML。我在我的文件系统中放置了一个XLSX文件,并通过锚标记在HTML文件中提供了如下链接。

<a class="someClass" href="SampleFile.xlsx" target="_blank" type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">DownloadFile</a>

但问题是它在IE中不起作用。在IE xlsx文件中作为Zip文件下载而不是xlsx文件。但是在Firefox中,它可以按预期工作。

IE中的

enter image description here

在FF中

enter image description here

我如何告诉IE将文件下载为xlsx文件而不是zip文件?

谢谢!

1 个答案:

答案 0 :(得分:3)

您需要在服务器上设置正确的“内容类型”和/或“内容处置”标题。

单独使用HTML无法在Internet Explorer中可靠地执行此操作,但您可以在服务器端执行此操作(例如,使用PHP,ASP或其支持的任何内容),或者通过配置文件托管在其上的Web服务器(例如, Apache或IIS)为具有给定扩展名的所有文件返回相应的标头。

请参阅此答案以获得一些见解: Setting mime type for excel document

注意:由于Internet Explorer公开了覆盖此行为的设置,并且默认情况下不同版本的Internet Explorer和Microsoft Office对某些标头的响应方式不同,您可能会发现它总是表现得有点不可靠,即使您在标题上设置了标题服务器。我在使用相同操作系统和相同版本的Internet Explorer和Microsoft Office的同一组织的企业PC上遇到不同的浏览器行为,但无法找到不同行为的根本原因(例如,下载与打开实际内部浏览器与应用程序中的打开)其他浏览器至少看起来一致。