ajax - javax.servlet.ServletException 请求不包含多部分/表单数据或多部分/混合流

标签 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: class javax.servlet.ServletException 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

这个问题有解决办法吗?我正在使用 Mojarra 2.2.11。

最佳答案

我转载了。这是 Mojarra 中的一个错误,在 2.2.9 中引入,作为修复 issue 3129 的副作用。 。您的问题已报告为 issue 3765 。基本上:自 Mojarra 2.2.9 起,使用 ajax 上传文件就被破坏了,并且没有解决方法(至少在代码中没有破解)。

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

关于ajax - javax.servlet.ServletException 请求不包含多部分/表单数据或多部分/混合流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791772/

相关文章:

jsf - 如何通过从 jsf2.0 和 primefaces 2.2 的下拉菜单中选择值来显示隐藏数据表

node.js - Google 存储桶文件上传在生产环境中不起作用

java - 如何在android中将音频从sd卡上传到服务器

tomcat - 如何设置上传文件的最大大小

jquery - 如何在 ASP.NET MVC 中处理 HTML5 多文件上传?

javascript - AngularJS 路由/ajax 调用/500 内部服务器错误

javascript - 第二次单击后按钮不起作用

php - 想要在点击提交按钮后使用 AJAX 刷新内容

java - JSF:有条件地呈现列表项 (<li>)

authentication - JSF 2.3 基于表单的登录和 ViewExpiredException