Ani*_*ony 4 jsf primefaces jsf-2
我在应用程序中使用Primefaces多文件上传组件.在这里,我选择'n'个文件,然后点击上传按钮.然后我需要fileUploadListener
按字母顺序获取每个文件.怎么可能?
由于多文件上传组件是jQuery-File-Upload插件,因此默认状态不是顺序的,这意味着所有文件都是异步上传的.
要使组件执行顺序上载,您必须设置sequentialUploads
为true,并且在更改时,我们对当前文件进行一些按字母顺序排序.这一切都是通过javascript完成的.
假设你的widgetVar是 fileUploadWV
<p:fileUpload widgetVar="fileUploadWV"
fileUploadListener="#{attachmentBean.onUpload}" />
<script>
$(function() {
// setTimeout waits till the widgetVar is ready!
setTimeout(sortFileUpload, 2000);
});
function sortFileUpload() {
//Set this option to true to issue all file upload requests in a sequential order instead of simultaneous requests.
PF('fileUploadWV').jq.data().blueimpFileupload.options.sequentialUploads = true;
//every time a new file is added, sort the files based on name
PF('fileUploadWV').jq.change(function() {
PF('fileUploadWV').files.sort(function fileSort(a, b) {
return a.name.localeCompare(b.name)
})
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
因此,在这种情况下,您的文件将按字母顺序上传.
注意:如果未将sequentialUploads设置为true,则无法控制首先发送哪个文件.
希望这可以帮助.
归档时间: |
|
查看次数: |
1457 次 |
最近记录: |