我正在使用Primefaces 3.5,我遇到了一个非常令人不安的问题。该组件在xhtml中显示如下:
<p:tab id="installApp" title="Install application">
<h:form enctype="multipart/form-data">
<p:panel header="Upload status" id="upld_status">
<p:dataTable id="errorTable" var="error"
value="#{applicationInstallerBean.uploadMsgs}">
<p:column headerText="Application">
<h:outputText value="#{error.filename}" />
</p:column>
<p:column headerText="Status">
<h:outputText value="#{error.errorMsg}" />
</p:column>
</p:dataTable>
</p:panel>
<p:remoteCommand name="clearPrevious" update="upld_status uploader" action="#{applicationInstallerBean.clearPrevious}" process="@this" />
<p:fileUpload id="uploader" multiple="true" dragDropSupport="true" onstart="clearPrevious()"
fileUploadListener="#{applicationInstallerBean.install}" uploadLabel="Install"
mode="advanced" update="@this upld_status" auto="false"
allowTypes="/(\.|\/)(zip)$/" styleClass="install_app_fileupload" />
</h:form>
<p:panel header="Help" toggleable="true">
<ui:include src="applicationInstallHelp.xhtml" />
</p:panel>
</p:tab>
现在我遇到的行为很奇怪:
前几次,使用drag'n'drop方法上传文件工作正常。上传几次后,以下错误显得毫无疑问:
我尝试了什么:
删除 h:form 元素,因为这是索引文件中的include,其中已包含 h:form 元素
结果:基本相同,区别在于,首次将文件放到组件上会自动上传,但 auto 设置为false
我还尝试清空浏览器缓存,从头开始重新部署应用程序,关闭多个 ...所有这些都没有运气。
我上传的文件是80k到9mb。
从这一点来看,我认为上传太多文件会让整个事情变得疯狂,但我真的无法想到解决方案。任何帮助将不胜感激。
更新:在测试过程中,我发现 onstart 方法在第一次上传后总是会多次触发。它第一次只发射一次。在第二次上传大约7-10次,第三次似乎它一直开火直到我结束会话。这很奇怪,我认为这可能是问题的根源。关于这个的任何想法?
提前谢谢!