Jsf Primefaces多文件选择在IE11浏览器中不起作用
我试图在IE11浏览器中使用primefaces5.2实现多文件上传,但它不允许我一次选择多个文件 同样的东西在chrome浏览器中也能完美工作 配置的jar: javax.faces.jar(JSF2.1.9)、Primefaces5.2.jar、Weblogic 12c Web.xml:Jsf Primefaces多文件选择在IE11浏览器中不起作用,jsf,jsf-2,primefaces,weblogic12c,mojarra,Jsf,Jsf 2,Primefaces,Weblogic12c,Mojarra,我试图在IE11浏览器中使用primefaces5.2实现多文件上传,但它不允许我一次选择多个文件 同样的东西在chrome浏览器中也能完美工作 配置的jar: javax.faces.jar(JSF2.1.9)、Primefaces5.2.jar、Weblogic 12c Web.xml: <web-app> <servlet> <servlet-name>Faces Servlet</servlet-name> <
<web-app>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>auto</param-value>
</context-param>
<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>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
请删除value属性。在高级模式下,Primefaces为每个文件调用侦听器,该值不是必需的
<p:fileUpload mode="advanced" multiple="true"
fileUploadListener="#{fileUploadBean.fileUploadListener}">
</p:fileUpload>
另外,确保SessionScoped是您的最佳范围。因为,大多数时候使用ViewScope更好。在IE 11中,我的web应用程序处于兼容模式,我将web应用程序从兼容模式中删除,现在我可以选择多个文件。您使用哪个浏览器?@ErkanErol我正在IE11浏览器上测试此代码。删除了value属性,但没有更改,我无法同时选择多个文件。它能在IE11上工作吗?你能把参数上传器从自动改为普通吗?我也尝试了这个选项,但仍然不起作用(上下文参数值是commons)。我一次只能选择一个文件(为了上传多个文件,我点击了几次文件选择按钮)。在这种情况下,我可以上传多个文件,但是我必须实现的一次选择多个文件是不起作用的。为了能够一次选择多个文件,必须在生成的html输出中设置“multiple”属性。但是我不明白为什么代码不起作用。
@ManagedBean
@SessionScoped
public class FileUploadBean {
UploadedFile file;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public void fileUploadListener(FileUploadEvent e){
// Get uploaded file from the FileUploadEvent
this.file = e.getFile();
// Print out the information of the file
System.out.println("Uploaded File Name Is :: "+file.getFileName() +" :: Uploaded File Size :: "+file.getSize());
}
<p:fileUpload mode="advanced" multiple="true"
fileUploadListener="#{fileUploadBean.fileUploadListener}">
</p:fileUpload>
ArrayList<UploadedFile> files = new ArrayList<UploadedFile>();
files.add(e.getFile());