2013-06-27 19 views
8

Chcę pokazać przesłany plik pod składnikiem fileUpload po załadowaniu pliku. Domyślnie po prostu pokazuje plik, kiedy go wybieram, ale po naciśnięciu przycisku nazwa pliku znika znika. Sprawdziłem wszystkie atrybuty znacznika fileUpload, ale nie znalazłem nic z nim związanego.Plik PrimeFacesUpload pokazujący nazwę pliku po przesłaniu

edytuj: Dziękuję Daniel, twoje rozwiązanie działa dobrze, ale wiesz, że outputText jest zewnętrznym tekstem pod fileUploaderem Chciałbym wiedzieć, czy primeFaces ma rozwiązanie, aby pokazać plik, gdy zostanie załadowany, jak pokazuje po wybraniu pliku jak na zdjęciu poniżej chcę zobaczyć nazwę pliku, również po wgraniu tak:

enter image description here

Odpowiedz

7

Wystarczy umieścić <h:outputText i wypełnić go z nazwą pliku z fasoli od wyprodukowania i aktualizować ją swoją p:fileUpload

lubi to

<h:form prependId="false" enctype="multipart/form-data"> 
    <p:fileUpload update="@form" mode="advanced" auto="true" 
     fileUploadListener="#{myBean.myFileUpload}"/> 
    <h:outputText value="#{myBean.myFileName}"/>  
</h:form>         

Wewnątrz Fasola:

public void myFileUpload(FileUploadEvent event) { 
    myFileName = FilenameUtils.getName(event.getFile().getFileName()); 
} 

biorą również zapoznać się z poniższym BalusC odpowiedź: event.getFile().getFileName() is returning filename with complete path in JSF2.0 with PrimeFaces 3.5

+0

umysł, aby używać 'FilenameUtils # getName()' aby zlikwidować błąd zabezpieczeń niektóre przeglądarki niepoprawnie wysłać pełną ścieżkę po stronie klienta wzdłuż nazwy pliku: http://stackoverflow.com/questions/15728320/event-getfile-getfilename-is-returning-filename-with-complete-path-in-jsf2-0/15729327#15729327 – BalusC

+0

Dzięki, @BalusC – Daniel

Powiązane problemy