Wildfly 10中的内容类型问题

时间:2017-09-20 11:39:42

标签: wildfly mime-types wildfly-8 wildfly-10

我在Wildfly 10上有一个Web应用程序 并且在Web应用程序目录中,我已经放置了一个zip文件,当用户单击超链接时我想要下载该文件。 在UI上我有

片段

<div class="tyDiv" onclick="window.open('request.getContextPath() + "/downloads/Installer.exe")%>','_self')">
</div>

它会创建正确的网址,如

"http://192.168.2.123:8080/comp/downloads/Installer.exe"


Content-Type:text/html;charset=UTF-8

这符合预期在JBoss6中有效。它下载exe文件但在Wildfly中它显示屏幕上的所有垃圾字符,因为它的内容类型是text / html

我尝试在standalone-full.xml中设置mime类型但是没有用。

 <mime-mappings>
    <mime-mapping name="css" value="text/css"/>
    <mime-mapping name="exe" value="application/octet-stream"/>
 </mime-mappings>

1 个答案:

答案 0 :(得分:0)

undertow.io处的文档显示了如何手动设置每个响应的MIME类型,例如。具有MIME类型映射的文件可能被称为exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "application/octet-stream"); web.xml(确保引用了正确的文件)。除此之外,我可以想象servlet-filter可能没有配置它应该 - 并且它会调度它们不应该结束的请求(找到https://stackoverflow.com/tags/servlet-filters/info)。虽然这里的答案甚至显示了如何在运行时添加MIME类型:https://stackoverflow.com/a/38021097/549372(普通的是应该在向输出写入二进制流时服务application/octet-stream - 这意味着它也可能是错误的输入流)。