use*_*815 6 jsf file-upload primefaces
我有一个多个p:fileUpload
,我需要从服务器上传1到N个文件,上传后我需要知道上传了多少个文件然后开始处理方法.我怎么知道所有文件上传的时间?我还没有找到多个上传任何情况下,有活动只针对单个文件,oncomplete
在p:fileUpload
也适用于每一个单独的文件.我有意使用额外的按钮来调用处理方法,但这不安全,因为用户可以在上传所有文件之前按下此按钮.谁可以给我一些建议?
Mik*_*bel 14
对于可能面临同样问题的其他人.
文件上载组件具有'files'属性,其中包含要上载的文件列表.一旦上传文件就会从'files'数组中删除,因此当上传最后一个文件时,'files'将为空.这可用于检测上载最后一个文件的时刻.之后,您可以触发远程命令来执行任何操作.
代码示例:
<h:form enctype="multipart/form-data">
<p:fileUpload id="files"
widgetVar="fileUploadWidget"
mode="advanced"
multiple="true"
oncomplete="handleMultiFileUploadRequest(PF('fileUploadWidget'), validateFiles);"/>
<p:remoteCommand name="validateFiles" actionListener="#{Your action}"/>
<script type="text/javascript">
function handleMultiFileUploadRequest(fileupload, remoteButton) {
if (fileupload.files.length === 0) {
if (remoteButton) {
remoteButton();
}
}
}
</script>
</h:form>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2463 次 |
最近记录: |