gpt4 book ai didi

jsf - Primefaces - 在多文件上传组件中按字母顺序获取文件

转载 作者:行者123 更新时间:2023-12-04 22:46:37 26 4
gpt4 key购买 nike

我正在使用 Primefaces Multiple file upload component在一个应用程序中。在这里,我选择“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>

因此,在这种情况下,您的文件将按字母顺序上传。

注意:如果您没有将sequentialUploads 设置为true,您将无法控制首先发送哪个文件。

Github , Online Demo

enter image description here

希望这可以帮助。

关于jsf - Primefaces - 在多文件上传组件中按字母顺序获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22705346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com