JSF 2.2 - загрузка файла не работает с Ajax. Форма, кажется, имеет неправильный enctype (только через AJAX)
Пытаясь реализовать пример JSF 2.2, у меня есть следующий код:
<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>
Согласно некоторым JSF 2.2 это должно работать, но в моем случае это дает мне следующую ошибку:
запрос не содержит multipart / form-data или multipart / mixed потока, заголовок типа контента - application / x-www-form-urlencoded; charset = UTF-8
Рассматривая запрос, хотя я правильно установил свой enctype формы, частичный запрос отправляет:
Тип содержимого: application / x-www-form-urlencoded; charset = UTF-8 Faces-Request: частичный / ajax
Обратите внимание, что 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>
Я использую Mojarra 2.2.0-m15, но попробовал это и с более ранними версиями. Кто-нибудь знает какую-либо полезную информацию об этой проблеме, которая, я полагаю, является ошибкой?