javascript - 文件下载在 IE 浏览器中无法按预期工作?

标签 javascript jquery html internet-explorer

我正在使用 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 中:

enter image description here

在FF:

enter image description here

我如何告诉 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/

相关文章:

javascript 倒计时 "SyntaxError: expected expression, got ' .' "

javascript - 按单选按钮值过滤 ng-repeat

html - CSS:响应式布局中的高度自动问题

javascript - jQuery UI Sortable——当页面可滚动时,Div 不可拖动

html - 为什么div不会内联

javascript - 如何展平嵌套的 promise 依赖?

javascript - AJAX jQuery .click 元素在加载时运行函数而不是单击

javascript - 我如何调用 JavaScript 函数

javascript - DEFER 实际上并未推迟

php - JavaScript/Jquery : download multiple images and save locally