javax.servlet.ServletException请求不包含multipart / form-data或multipart / mixed流

时间:2015-06-11 21:27:17

标签: ajax jsf file-upload jsf-2.2 mojarra

我在下面通过<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。

1 个答案:

答案 0 :(得分:3)

我复制了它。这是Mojarra中的一个错误,在2.2.9中引入作为issue 3129修复的副作用。您的问题已报告为issue 3765。基本上:自Mojarra 2.2.9以来,使用ajax上传文件已经破解,并且没有解决方法(至少在没有黑客入侵代码的情况下)。

目前,您需要降级到Mojarra 2.2.8,直到他们发布带有修复程序的版本。