限制Primefaces上传的扩展名

时间:2014-05-30 18:00:07

标签: jsf primefaces filter upload

我正在尝试使用此组件上传图片

<p:fileUpload value="#{partyCreationBean.file}" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" description="Select Images" mode="simple" />

我也试着把

allowTypes = “JPG”

和许多其他组合,但我仍然可以上传所有内容,我真的不明白为什么。

提前谢谢, samuele

3 个答案:

答案 0 :(得分:0)

您需要使用fileUpload进行一些额外配置 请参阅:http://www.mastertheboss.com/primefaces/primefaces-file-upload-example

web.xml过滤器

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

示例:

<p:fileUpload fileUploadListener="#{fileUploadController.upload}" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="100000" description="Select Images"/>

这应该允许你的文件tpypes .. 您还需要确保拥有依赖项jar  Apache Commons io  Apache Commons文件上传

检查过滤器是否已启用。

答案 1 :(得分:0)

allowTypes无效mode="simple" p:fileUpload

您可以使用mode="advanced"来限制文件扩展名。

答案 2 :(得分:0)

如果您使用mode =&#34; simple&#34;,您可以使用&#34;接受&#34;属性。 请参阅:http://www.w3schools.com/TAgs/att_input_accept.asp