Javascript 文件下载在IE浏览器中无法正常工作?
我正在使用HTML。我在我的文件系统中放置了一个XLSX文件,并通过锚定标记在HTML文件中提供了一个链接,如下所示Javascript 文件下载在IE浏览器中无法正常工作?,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,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文件作
<a class="someClass" href="SampleFile.xlsx" target="_blank" type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">DownloadFile</a>
但问题是它在IE中不起作用。在IE中,xlsx文件作为Zip文件而不是xlsx文件下载。但在firefox中,它可以按预期工作
在IE中:
在FF中:
我如何告诉IE将文件作为xlsx文件而不是zip文件下载
谢谢 您需要在服务器上设置正确的“内容类型”和/或“内容处置”标题 仅在HTML中,您无法可靠地为Internet Explorer执行此操作,但您可以在服务器端(例如,使用PHP、ASP或其支持的任何工具)执行此操作,或者通过配置文件所在的web服务器(例如,Apache或IIS)为具有给定扩展名的所有文件返回适当的头 请参阅此答案以了解一些见解:
注意:由于Internet Explorer公开了覆盖此行为的设置,并且Internet Explorer和Microsoft Office的不同版本在默认情况下对某些标题的响应不同,因此您可能会发现它的行为总是有点不可靠,即使您在服务器上设置标题也是如此。我在同一组织的公司PC上遇到过不同的浏览器行为,使用相同的操作系统、相同版本的Internet Explorer和Microsoft Office,但无法找到不同行为的根本原因(例如,下载与在浏览器内实际打开与在应用程序中打开)其他浏览器至少表现得一致。您使用的是apache服务器吗?是否托管这些ms文件?这可能是因为web服务器为.xslx扩展名发送了错误的
内容类型
头。不知道如何在Tomcat中解决这个问题。注意:我说的是“和/或”,因为有多种方法可以做到这一点(取决于您是否希望始终下载文档、在现有浏览器窗口中打开文档或在新的Excel窗口中打开文档)。就我个人而言,我会首先尝试设置适当的内容类型,通过配置web服务器来识别文件扩展名为Excel。