我在應用程序中使用Primefaces Multiple file upload component。在這裏我選擇'n'個文件並點擊上傳按鈕。然後我需要按照字母順序獲取fileUploadListener
中的每個文件。怎麼可能?Primefaces - 在多個文件上傳組件中按字母順序獲取文件
4
A
回答
9
由於多文件上傳組件是jQuery-File-Upload插件,因此默認狀態不是順序,這意味着所有的文件異步上傳。
要獲取組件做了連續的上傳,你必須設置sequentialUploads
爲真,並改變我們當前的文件的一個小字母排序。所有這些都是通過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,則無法控制將首先發送哪個文件。
希望這有助於。
1
肯定的,但這種方法是不是很優雅:
<p:remoteCommand action="#{attachmentBean.processAttachments}"
name="processAttachments" update="attachmentTable"/>
<p:fileUpload fileUploadListener="#{attachmentBean.onUpload}"
oncomplete="processAttachments()" />
attachmentBean.onUpload
存儲列表中的每個文件/地圖/ SortedMap的 attachmentBean.processAttachments
最終排序該列表/地圖和進程附件爲了
attachmentBean
必須至少爲@ViewScoped
相關問題
- 1. 如何按字母順序獲取json文件數據
- 2. 在PHP中按字母順序從文件夾遞歸獲取文件夾和文件?
- 3. 從多個文件上傳字段獲取文件名
- 4. PHP(文件夾)按字母順序排列的文件列表?
- 5. 強制文件和文件夾按字母順序處理
- 6. 按字母順序排序從一個文件在python 3.3
- 7. PrimeFaces文件上傳
- 8. 在Ruby中按字母順序排序CSV文件
- 9. 如何在C中按字母順序排序文件的行?
- 10. 在JSF primefaces上傳文件
- 11. 如何按文件夾中的相同順序獲取文件?
- 12. 按文件名中的數字順序讀取文件
- 13. 按字母順序從文本文件中排序數組然後輸出到另一個文件java
- 14. UploadedFile並獲取多個文件上傳?
- 15. 如何排序的文本文件按字母順序
- 16. 如何按字母順序排序文本文件?
- 17. 如何按字母順序排序文本文件?
- 18. 如何按字母順序加入Python中的多個排序文件?
- 19. 如何在bash中按字母順序合併文件
- 20. 在C中按字母順序生成文件#
- 21. 按字母順序在C中接收二進制文件
- 22. Ajax文件上傳只獲取filelist數組中的第一個文件上傳
- 23. 在一個HTTP文件中上傳多個文件上傳
- 24. 從數字佔位符的文件按字母順序排序
- 25. primefaces多文件上傳只更新樹表第一個文件上傳
- 26. 按數字順序列出文件而不是按字母順序?
- 27. 如何比較2個文件按字母順序使用C
- 28. 獲取多個文件上傳文件的名稱
- 29. Primefaces +春文件上傳
- 30. 按字母順序排列文本文件(Linux)
我試過這樣做,它工作(當涉及到執行順序請求),但最終的結果只有一個文件實際上傳(由'fileUploadListener'處理)。你有任何建議調用所有'fileUploadListener'嗎? – nuno
此外,它似乎變成了一個功能https://github.com/primefaces/primefaces/issues/403 – nuno
@nuno我沒有完全明白你的意思。我發佈的答案已經過多次上傳的測試,並且每個文件的監聽者都被調用了,也許別的東西不適合你? –