Primefaces fileUpload不被调用

时间:2018-07-20 14:00:02

标签: jsf file-upload primefaces

我正在使用primefaces 5.0和jsf 2.2,并且不断收到NullPointer错误。

.xhtml文件:

<h:form enctype="multipart/form-data">
 <p:fileUpload  fileUploadListener="#{mBKnjiga.uploadSlike}" mode="advanced"  allowTypes="*.jpg;*.png;*.gif;" />

豆:

byte[] image;
...
public void uploadSlike(FileUploadEvent event) throws IOException {
image = IOUtils.toByteArray(event.getFile().getInputstream());
}

web.xhtml:

<filter>
<filter-name>primeFacesFileUploadFilter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>primeFacesFileUploadFilter</filter-name>
<servlet-name>FacesServlet</servlet-name>
</filter-mapping>
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>auto</param-value>
</context-param>

我已经为commons-io和commons-fileupload添加了jar,以防万一。我也尝试过使用模式=“ simple”上传图片,就像他们在展示柜中解释的那样,但是没有用。我也尝试了没有commons fileupload的情况。

2 个答案:

答案 0 :(得分:0)

我认为您的allowTypes值正在破坏该组件。 allowTypes需要一个正则表达式。尝试allowTypes="/(\.|\/)(gif|jpe?g|png)$/"

答案 1 :(得分:0)

问题出在primefaces版本上。 Primefaces 6.1可以正常工作。