Datei hochladen in JSF primefaces
Ich versuche, eine Datei hochzuladen, mit einer einfachen form, aber es gibt einfach zurück auf die gleiche Seite die ganze Zeit. Den Fehler zu finden oder was falsch ist, ich will einfach nur schreiben in den output der name der Datei, die ich hochladen. Einmal bekomme ich den Namen der Datei, ich denke, ich kann damit umgehen, wie behandeln die gesamte Datei. So das ist mein code:
<h:form enctype="multipart/form-data">
<h:outputText value="Argazkia: "/>
<p:fileUpload value="#{jokoBerriaController.file}" mode="simple"/>
<p:commandButton value="Bidali" ajax="false" actionListener="#{jokoBerriaController.upload()}"/>
</h:form>
Controller:
import javax.faces.bean.ManagedBean;
import org.primefaces.model.UploadedFile;
@ManagedBean
public class jokoBerriaController {
public static UploadedFile file;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public void upload() {
System.out.println("file " + file.getFileName());
}
}
Habe ich
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
in meinem web.xml Datei, aber ich habe noch nicht Hinzugefügt commons-io und die commons-fileupload-Bibliotheken. Ich habe gelesen, dass ich die nächsten code in meine pom.xml Datei, aber ich kann nicht finden, die Datei.
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
Vielen Dank für Ihre Hilfe.
PD: Sorry für mein Englisch.
- Das Attribut "allowTypes" einschränken der Dateitypen. Siehe auch die anderen Attribute für <p:fileUpload>. <p:fileUpload fileUploadListener="#{fileUploadController.upload}" 12. 6.allowTypes="/(\.|\/)(doc|docx|xls|xlsx|zip|gif|jpeg|png)$/" Größenbegrenzung="100000" />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht finden können, die pom.xml dann sind Sie nicht erstellen Sie die Anwendung mit maven und so können Sie einfach kopieren Sie die heruntergeladene jar-Dateien, um Ihre
WEB-INF/lib
Ordner. Herunterladen commons-fileupload-1.2.2.jar und die commons-io-1.4 und fügen Sie die Ordner.Dieser Beitrag war wirklich hilfreich.
Sie müssen die Aufmerksamkeit auf alle details. Alle Abhängigkeiten müssen in WEB-INF/lib, und der servlet-filter in web.xml deklariert werden muss, richtig.
Ich hatte ähnliche Probleme und ich habe es zu arbeiten, indem Sie die folgenden Tipps, die post.
Haben Sie Hinzugefügt:
Ihrem web.xml Datei und fügen commons-io und die commons-fileupload-auf Ihre Bibliothek Weg ?
Sollten Sie wirklich hinzufügen commons-io und die commons-fileupload-Bibliotheken.
Sie laden Sie Sie von der folgenden links .jar-Dateien.
Dann müssen Sie die jar-Dateien zu Ihrem Projekt.
http://commons.apache.org/io/
http://commons.apache.org/fileupload/
Nach dem hinzufügen dieser jar-Dateien in Ihrem Projekt, sollten Sie in der Lage sein zu bekommen, fileupload funktioniert.