Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Internet Explorer试图在Jboss服务器上打开Excel,但失败_Linux_Internet Explorer_Jsf 2_Jboss7.x - Fatal编程技术网

Linux Internet Explorer试图在Jboss服务器上打开Excel,但失败

Linux Internet Explorer试图在Jboss服务器上打开Excel,但失败,linux,internet-explorer,jsf-2,jboss7.x,Linux,Internet Explorer,Jsf 2,Jboss7.x,我有一个JSF2应用程序链接到服务器文件系统上的静态Excel文件。该链接是一个简单的html,如下所示: <a href="#{bean.getExcelLink(auction)}">Excel File</a> 这在Chrome和Firefox上运行良好,在我本地的Windows7机器上,当应用程序在Tomcat中运行时,也可以在IE上运行。但是在登台环境中,即Linux和Jboss 7.0.1 Final,IE试图在自己的窗口中打开Excel文件,并产生一堆

我有一个JSF2应用程序链接到服务器文件系统上的静态Excel文件。该链接是一个简单的html,如下所示:

<a href="#{bean.getExcelLink(auction)}">Excel File</a>

这在Chrome和Firefox上运行良好,在我本地的Windows7机器上,当应用程序在Tomcat中运行时,也可以在IE上运行。但是在登台环境中,即Linux和Jboss 7.0.1 Final,IE试图在自己的窗口中打开Excel文件,并产生一堆垃圾字符

同样,只有当应用程序在使用Jboss AS的Linux上运行时,问题才出现在IE上


你知道发生了什么,怎么解决吗

显然,响应内容类型是错误的。鉴于它在Linux中失败,但在Windows中成功,这只能意味着使用特定于平台的mime类型映射来确定内容类型,而不是webapp/server特定的mime类型映射(Linux机器当然没有安装MS Office,因此它不太清楚
.xls
.xlsx
文件的mime类型)。这可能反过来只意味着您没有直接链接到它,而是使用通用servlet来流式传输文件


如果这是真的,那么您实际上应该使用来根据文件扩展名确定内容类型,而不是使用特定于平台的mime类型映射。服务器在其自己的
web.xml
中有一个预定义的所有默认mime类型的列表,其样式为
条目,您可以在webapp中覆盖/扩展这些条目's own
web.xml

感谢您的关注,BalusC。我正在直接链接。来自“查看源代码”的链接看起来是这样的:。这个问题只发生在IE上。如果我要通过Servlet,那么代码应该做与您在这里的答案中类似的工作吗?如果您直接链接,那么这将是JBoss服务器本身的一个错误(我实际上没有预料到)。您能显示它在请求时返回到XLS文件的响应头吗?当我这样做时,我会在开发工具的HTML选项卡下看到大量垃圾(基本上与页面本身相同)“脚本”选项卡上有这个,我怀疑它是否有用。我应该去其他地方吗?顺便说一句,我的浏览器是IE8。我应该更新到9吗?这是来自chrome:Accept Ranges:bytes Content Length:17408 Date:Mon,06 Feb 2012 16:26:52 GMT ETag:W/“17408-1328543185000”最后修改:Mon,2012年2月6日15:46:25 GMT服务器:Apache Coyote/1.1So,根本没有
内容类型
头?这绝对不对。将其与本地JBoss实例进行比较。如果登台时的JBoss版本完全相同,则可能是由JBoss前面的代理(例如Apache HTTPD或其他)引起的。请咨询服务器管理员并报告此问题。