如何为Tomcat 6中的任何文件扩展名设置默认mime tipe?
Mime类型在Tomcat的conf/web.xml文件中指定。 看起来是这样的:如何为Tomcat 6中的任何文件扩展名设置默认mime tipe?,tomcat,mime-types,Tomcat,Mime Types,Mime类型在Tomcat的conf/web.xml文件中指定。 看起来是这样的: <mime-mapping> <extension>txt</extension> <mime-type>text/plain</mime-type> </mime-mapping> 文本 文本/纯文本 在此之前,我尝试以下内容: <mime-mapping> <extension>*</
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
文本
文本/纯文本
在此之前,我尝试以下内容:
<mime-mapping>
<extension>*</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
*
应用程序/八位字节流
但这对我没有帮助。
如何为任何文件扩展名指定默认mime类型?没有办法。您需要自己显式地设置它们。servlet过滤器是一个合适的地方
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
response.setContentType("application/octet-stream");
chain.doFilter(request, response);
}
然而,我高度质疑企业对此的需求。这对搜索引擎优化和客户都是不利的。如果您的唯一目的是弹出另存为对话,那么您应该这样说。有比强制使用错误的mime类型更好的解决方案。*不是有效的扩展。您必须指定需要特殊编码的扩展名,否则默认值为text/html。如何将默认值“text/html”更改为类似于“application/octet stream”的值?谢谢。在使用Tomcat 7进行测试时,我发现如果删除所有mime映射条目,那么实际响应将根本不包括内容类型头。如果web浏览器在内容中看到标记,它将查看内容并将其转换为文本/html。谢谢!过滤器是我需要的。我使用它来设置默认的内容类型“application/octetstream”。若并没有指定内容类型,那个么客户端的应用程序会因协议而崩溃,为了欺骗浏览器而强制使用MIME类型可能是一个危险的游戏。