2013-12-09 31 views
0

该问题仅在IE < = 9中出现。其他地方的fileupload完美地工作。PrimeFaces fileUpload在IE上不起作用<= 9

我正在使用PrimeFaces版本:3.4.2。 升级到4.0不会改变任何东西。 PrimeFaces FileUpload demo

<h:form> 

      <p:fileUpload fileUploadListener="#{fileUploadBean.listener}" 
       mode="advanced" update="messages" auto="true" sizeLimit="100000" 
       allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> 

      <p:growl id="messages" showDetail="true" /> 

     </h:form> 

我甚至定义:从

我复制的代码

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

在我的网页它不工作,但是,FileUpload demo页它令人惊讶的工作。

我已经注意到了这种奇怪的行为在IE < = 9(内容长度为0和Content-Type是不存在的 - 为什么?):

my page request

但PrimeFaces页面上有(相同的浏览器 - IE8/9):

primefaces request

我也试图设置enctypemultipart/form-data和(像PrimeFaces演示页)application/x-www-form-urlencoded(这是默认设置)

我能做些什么才能使其工作?

回答

0

我刚刚解决了它。

它没有工作的原因是在布局 - XHTML masterpage中包括jquery和jquery.fileupload ...但为什么IE < = 9没有处理,我不知道(没有错误/控制台中的警告)。

我只是将其修改为低于:

<o:conditionalComment if="gt IE 9"> 
    <script src="#{request.contextPath}/js/jquery.min.js"></script> 
    <script src="#{request.contextPath}/js/jquery-ui.min.js"></script> 
    <script src="#{request.contextPath}/js/jquery.fileupload.js"></script> 
</o:conditionalComment> 

现在,它的工作原理。

+0

它适用于OmniFaces @ Xeon不是我所认为的 –

0

如果您尚未尝试使用primefaces.UPLOADER参数,您可以尝试一下。我不得不使用

<context-param> 
    <param-name>primefaces.UPLOADER</param-name> 
    <param-value>commons</param-value> 
</context-param> 

使它在IE8上工作。也许这对你也有帮助