Ich habe eine multiple p:fileUpload
, ich muss von 1 bis N Dateien auf dem Server hochladen, nach dem Hochladen muss ich wissen, wie viele Dateien hochgeladen wurden und starten Sie dann die Methode. Wie kann ich wissen, wann alle Dateien hochgeladen wurden? Ich habe kein Event für mehrere Uploads gefunden, es gibt nur Event für einzelne Dateien, oncomplete
in p:fileUpload
funktioniert auch für jede Datei einzeln. Ich hatte die Idee, eine zusätzliche Schaltfläche zu verwenden, um die Verarbeitungsmethode aufzurufen, aber dies ist nicht sicher, da der Benutzer diese Schaltfläche drücken kann, bevor alle Dateien hochgeladen wurden. Wer kann mir etwas raten?Wenn das mehrfache Hochladen in p: fileUpload abgeschlossen ist?
5
A
Antwort
0
Sie können einen modalen Dialog validieren, bis Sie den Prozess abgeschlossen haben, und ihn beenden, wenn Sie ihn schließen.
10
Für andere Leute, die das gleiche Problem haben können.
Die Datei-Upload-Komponente hat die Eigenschaft 'files', die die Liste der hochzuladenden Dateien enthält. Sobald eine Datei hochgeladen wurde, wird sie aus dem Array "files" entfernt. Wenn also die letzte Datei hochgeladen wird, sind die Dateien leer. Dies könnte verwendet werden, um den Zeitpunkt zu ermitteln, zu dem die letzte Datei hochgeladen wurde. Danach können Sie den Remote-Befehl auslösen, um zu tun, was Sie wollen.
Code-Beispiel:
<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>
Verwandte Themen
- 1. p: Fileupload prime Gesichter
- 2. Wie p: fileUpload anzeigen invalidFileMessage in p: Growl
- 3. Was ist das ?! $ (mehrfache Parameter?)
- 4. Wenn SendAsync abgeschlossen ist?
- 5. Grafik - Mehrfache Pufferung: In Warteschlange oder zuletzt abgeschlossen?
- 6. Plupload - Funktion beim Hochladen abgeschlossen?
- 7. Wie p: ajax oncomplete Ereignis auf p: fileUpload zu verwenden. Fehler bei der Verwendung
- 8. Getting primefaces p: fileUpload funktioniert unter google appengine
- 9. Ist mehrfache Vererbung böse?
- 10. <p: fileUpload> gib mir immer null Inhalt
- 11. Anzeigen Name der ausgewählten Datei von p: fileUpload in einem p: inputText
- 12. Ändern der Standardtastenbezeichnung von <p: fileUpload mode = "simple">
- 13. Senden eines p: fileupload mit dem Rest eines Formulars
- 14. PrimeFaces <p: fileUpload mode = "advanced"> Validator nicht gefeuert
- 15. Wie erkennt man, wenn innerHTML abgeschlossen ist
- 16. Wie überprüfen, wenn Javascript abgeschlossen ist
- 17. Ajax erkennen, wenn von Senden abgeschlossen ist
- 18. Android-Exoplayer-Rückruf, wenn Suche abgeschlossen ist
- 19. Make p: fileUpload erweiterten Modus erscheint wie einfachen Modus
- 20. ASP.NET FileUpload
- 21. Ist das Brettspiel "Go" NP abgeschlossen?
- 22. Benachrichtigen, wenn Ausführung/Befehl abgeschlossen ist
- 23. Jquery-Fileupload-Plugin - Hochladen der Datei, aber sagt 'Dateiupload fehlgeschlagen'
- 24. jQuery mobile Bild später hochladen, wenn das Internet gut ist
- 25. FileUpload funktioniert nicht, wenn in UpdatePanel verschachtelt? C#
- 26. Optimierter Code: ist ++ p schneller als p ++?
- 27. GWT - Datei auf den Server hochladen, ohne das FileUpload-Dialogfeld zu verwenden
- 28. DataReader.loadAsync noch nicht abgeschlossen ist, wenn unconsumedBufferLength 0 ist
- 29. Mehrfache Dateiübertragung: Array
- 30. Ändern Sie das Standardverhalten von p: confirmDialog
Dank Stirn! Funktioniert wirklich! – alacerda
Was ist der Typ für das fileUploadWidget-Bean-Attribut? – bruno
@bruno Das FileUploadWidget ist nur Client-Seite und nur eine Referenz auf das JS-Objekt –