Der Versuch, die JSF 2.2 Beispiel habe ich den folgenden Code haben zu implementieren:JSF 2.2 - Fileupload funktioniert nicht mit Ajax. Form erscheint eine falsche enctype zu haben (nur über AJAX)
<h:form prependId="false" enctype="multipart/form-data">
<!-- Now it's the AJAX file upload component -->
<h:inputFile id="fileUpload" value="#{someBean.file}" >
<f:ajax />
</h:inputFile>
<h:commandButton value="Upload" />
</h:form>
Nach einigen JSF 2.2 dies funktionieren sollte, aber in meinem Fall ist es gibt mir die folgende Fehlermeldung:
the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is application/x-www-form-urlencoded;charset=UTF-8
Mit Blick auf die Anfrage, obwohl ich meine Form enctype richtig eingestellt haben, die teilweise Anfrage übermittelt:
Content-type:application/x-www-form-urlencoded;charset=UTF-8 Faces-Request:partial/ajax
Beachten Sie, dass auch modifiziert web.xml:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<multipart-config>
<location>c:\dotmp</location>
<max-file-size>20848820</max-file-size>
<max-request-size>418018841</max-request-size>
<file-size-threshold>1048576</file-size-threshold>
</multipart-config>
</servlet>
I Mojarra 2.2.0-m15 bin mit aber versucht, dies mit früheren als auch Versionen. Kennt jemand nützliche Informationen zu diesem Problem, von dem ich annehme, dass es ein Fehler ist?
Danke für die Antwort BalusC. Ich habe mich über JSF2.2 geärgert, bin also auf die neueste Version von JSF2.1 zurückgekommen und habe dein Omnifaces-Render-Kit für html5 verwendet. Für den filwdownload habe ich dein Tutorial von http://balusc.blogspot.co.uk/2009/12/uploading-files-in-servlet-30.html gefolgt und überraschenderweise habe ich genau den gleichen Fehler bekommen. verursacht durch: org.apache.tomcat.util.http.fileupload.FileUploadBase $ InvalidContentTypeException: Die Anfrage enthält keinen multipart/form-data oder multipart/mixed Stream, Inhaltstypheader ist application/x-www-form -urlencoded; charset = UTF-8 –
Vielleicht verschachteln Sie Formen? Es wäre jedoch ein ziemlich offensichtlicher Fehler gewesen, wenn Sie jemals versucht hätten, das Problem in ein vollwertiges SSCCE zu isolieren. – BalusC
Ich wünschte, ich wäre so glücklich. Was ich oben habe, ist auf der eigenen Seite sowie dem Code aus Ihrem Beispiel. Das ist nur eine Form und es passiert nur, wenn ich mit Ajax einreiche, ansonsten funktioniert es gut. –