我正在使用 HTML。我已经在我的文件系统中放置了一个 XLSX 文件,并通过 anchor 标记在 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 中:
在FF:
我如何告诉 IE 将文件下载为 xlsx 文件而不是 zip 文件?
谢谢!
最佳答案
您需要在服务器上设置正确的“内容类型”和/或“内容处置” header 。
您无法仅在 HTML 中对 Internet Explorer 可靠地执行此操作,但您可以在服务器端(例如使用 PHP、ASP 或其支持的任何内容)或通过配置托管文件的 Web 服务器(例如Apache 或 IIS)为具有给定扩展名的所有文件返回适当的 header 。
请参阅此答案以获得一些见解: Setting mime type for excel document
注意:由于 Internet Explorer 公开了覆盖此行为的设置,并且默认情况下不同版本的 Internet Explorer 和 Microsoft Office 对某些标题的响应不同,因此您可能会发现它的行为总是有点不可靠,即使您在服务器。我在同一组织的企业 PC 上遇到了不同的浏览器行为,这些 PC 具有相同的操作系统以及相同版本的 Internet Explorer 和 Microsoft Office,但无法找到不同行为的根本原因(例如下载与实际在内部打开)浏览器与在应用程序中打开)其他浏览器至少看起来表现一致。
关于javascript - 文件下载在 IE 浏览器中无法按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17422176/