我在下面通过<h:inputFile>
和<f:ajax>
上传文件的表单。
<h:form enctype="multipart/form-data">
<h:inputFile id="file" value="#{bean.file}" />
<h:commandButton value="Upload" action="#{bean.upload}">
<f:ajax execute="file" render="file" />
</h:commandButton>
</h:form>
当我提交时,我会收到一条JavaScript警告,其中包含以下错误信息:
serverError:类javax.servlet.ServletException请求不包含multipart / form-data或multipart / mixed流,内容类型头是application / x-www-form-urlencoded; charset = UTF-8
这个问题有解决办法吗?我使用的是Mojarra 2.2.11。
答案 0 :(得分:3)
我复制了它。这是Mojarra中的一个错误,在2.2.9中引入作为issue 3129修复的副作用。您的问题已报告为issue 3765。基本上:自Mojarra 2.2.9以来,使用ajax上传文件已经破解,并且没有解决方法(至少在没有黑客入侵代码的情况下)。
目前,您需要降级到Mojarra 2.2.8,直到他们发布带有修复程序的版本。