0

我有一个遗留应用程序,在某些时候,它会在其中一个页面中生成以下代码:

window.location.href = "http://localhost:8080/myApplication/manuals/charts.xls";

当 Mozilla 看到这一点时,它会打开一个带有“打开方式...\另存为...”选项的下载对话框。

IE(v7 和 v8)不打开对话框。它获取文件并在页面中呈现它,就像一些 HTML 一样;但它是一个二进制文件,所以你看到的只是屏幕上的垃圾。

有没有人遇到过这个?

EDIT1:这适用于某些 IE 浏览器,但不适用于所有浏览器。我正在考虑 IE 的配置问题。此外,对于它有效.ppt.doc文件,问题仅适用于.xls文件。

EDIT2:即使我在页面中放置了一个链接,例如:

click <a href="http://localhost:8080/myApplication/manuals/charts.xls">here</a> for the XLS

当我单击它时,它不会显示对话框。它只是写在页面上。

4

1 回答 1

0

您需要确保您的 Web 服务器正在为 xls 文件发送正确的 MIME 类型。

查找WEB-INF包含文件的目录web.xml。将此添加到文件中,在web-app元素内:

<mime-mapping>
  <extension>xls</extension>
  <mime-type>application/octet-stream</mime-type>
</mime-mapping>
于 2009-10-01T14:41:12.853 回答