2016-04-21 8 views
0

Ich verwende den folgenden Code-Schnipsel eine Datei JSF istWie erhält man den Dateinamen, wenn Part zum Hochladen von Dateien mit JSF verwendet wird?

private Part uploadedFile; 
public Part getUploadedFile() { 
    return uploadedFile; 
} 
public void setUploadedFile(Part uploadedFile) { 
    this.uploadedFile = uploadedFile; 
} 
public void processFileUpload() 
{ 


if(!(uploadedFile==null)) 
{ 
fileName = uploadedFile.getName(); 
System.out.println(fileName); 
fileSize = uploadedFile.getSize(); 
fileContentType = uploadedFile.getContentType(); 

} 
else { System.out.println("null"); 

Mein jsp Code-Schnipsel mit hochladen unten gezeigt

<h:form enctype = "multipart/form-data"> 

<h:outputLabel value="Select File:" style="color:white"/> 
<h:inputFile id="fileUpload" label="File to upload" style="color:white" 
value="#{actionBeanWorld.uploadedFile}" size="60" /> 

<h:commandButton type = "submit" value = "Upload" 
action = "#{actionBeanWorld.processFileUpload}"> 
</h:commandButton> 

Der Dateiname erzeugt mit uploadedFile.getName() erzeugt nur der Teil Name j_id_jsp_903082837_1: fileUpload, aber ich fragte mich, ob es einen Weg gab, den Dateinamen zu erhalten, den ich tatsächlich hochgeladen habe? Ich habe bereits versucht mit uploadedFile.getSubmittedFileName(); und es hat einen java.lang.AbstractMethod Fehler ausgelöst. Bitte helfen Sie!

+0

Wenn Sie eine Ausnahme erhalten, bitte ** immer ** die Stack-Trace enthalten, um Mehrdeutigkeiten auszuschließen. Die richtige Antwort ist da drin. – BalusC

Antwort