【问题标题】:PrimeFaces fileUpload doesn't work on IE<=9PrimeFaces fileUpload 在 IE<=9 上不起作用
【发布时间】:2013-12-27 00:29:01
【问题描述】:

该问题仅出现在 IE

我使用的是 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

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

我还尝试将 enctype 设置为 multipart/form-data 和(如在 PrimeFaces 演示页面上)application/x-www-form-urlencoded(这是默认设置)

我该怎么做才能让它发挥作用?

【问题讨论】:

    标签: java jsf file-upload primefaces jquery-file-upload


    【解决方案1】:

    如果您还没有尝试使用 primefaces.UPLOADER 参数,您可以尝试。我不得不使用

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

    让它在 IE8 上运行。也许这对你也有帮助

    【讨论】:

      【解决方案2】:

      我刚刚解决了。

      它不起作用的原因是在布局中 - XHTML 母版页包含 jquery 和 jquery.fileupload...但是为什么 IE

      我只是将其修改为以下内容:

      <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>
      

      现在可以了。

      【讨论】:

      • 我认为是针对 OmniFaces @Xeon 而不是 primefaces
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 2015-12-13
      • 2012-05-28
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多