OmniFaces inputFile不区分大小写的媒体类型过滤

时间:2018-02-14 15:07:33

标签: jsf-2.2 omnifaces

我使用OmniFaces's 2.6.1 inputFile上传文件,并希望通过使用accept属性来应用媒体类型过滤,例如accept="image/png"。这适用于具有.png扩展名的文件名,但显然区分大小写。上传具有.PNG扩展名的文件时,验证失败。我尝试指定accept="image/PNG"accept="image/*",但无济于事。

是否有一种以不区分大小写的方式过滤媒体类型的简单方法?

1 个答案:

答案 0 :(得分:3)

在{$ 1}}下,<o:inputFile>从服务器的mime映射中导出mime类型,您可以通过<mime-mapping>中的web.xml条目来控制它。

我无法在WildFly 12上重现您的问题。显然您正在使用不对文件扩展名执行不区分大小写匹配的服务器。

根据issue 447我通过在咨询服务器管理的mime映射之前明确地降低文件名来修复2.6.9。目前,解决方法是明确将PNG扩展名的mime映射添加到您的webapp web.xml

<mime-mapping>
    <extension>PNG</extension>
    <mime-type>image/png</mime-type>
</mime-mapping>

请注意,这仍然与PngpNGpNg等不匹配。