Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 分析多部分表单数据时发生异常_Java_Multipartform Data - Fatal编程技术网

Java 分析多部分表单数据时发生异常

Java 分析多部分表单数据时发生异常,java,multipartform-data,Java,Multipartform Data,我正在尝试处理文件上传,我正在使用 com.oreilly.servlet.multipart.MultipartParser类来解析发布的 数据(在cos.jar中)。然而,当我调用MultipartParser的构造函数时,我得到 例外情况: java.io.IOException: Corrupt form data: premature ending at com.oreilly.servlet.multipart.MultipartParser.<init>(Mul

我正在尝试处理文件上传,我正在使用 com.oreilly.servlet.multipart.MultipartParser类来解析发布的 数据(在cos.jar中)。然而,当我调用MultipartParser的构造函数时,我得到 例外情况:

java.io.IOException: Corrupt form data: premature ending
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:166)
    at com.oreilly.servlet.multipart.MultipartParser.<init>(MultipartParser.java:94)
java.io.IOException:损坏的表单数据:过早结束
位于com.oreilly.servlet.multipart.MultipartParser.(MultipartParser.java:166)
位于com.oreilly.servlet.multipart.MultipartParser.(MultipartParser.java:94)
以前有人见过这个吗?据我所知,这意味着 数据在找到要查找的边界之前就结束了。我怎么能 修好这个

我正在使用cos.jar版本1.0

谢谢

这表明存在问题 正在分析由提交的POST请求 客户。原因可能有很多 关于这个问题:

  • 客户端点击停止按钮(这不是一个真正的问题,但它确实会导致 提前结束)
  • web表单中的错误
  • servlet中的一个bug
  • web服务器中的一个bug
  • 浏览器中的错误
  • com.oreilly.servlet库本身存在一个bug
历史记录显示该web服务器是可用的 最常见的问题原因 可能是因为太多了 不同的服务器和少数供应商 似乎在测试他们的二进制上传 能力

首先,确保你的客户不是 按下停止按钮。然后,检查 如果您的问题已发布在 您需要了解的“Servlet bug” 关于本网站上的“资源”。如果是 不是很出名,那你就要 在第一批了解它的人当中!及 你可以和我们分享你的发现 这里

第二,看看上传是否可以使用 提供的upload.html表单和 DemoRequestUploadServlet.java类。 有些人在他们的生活中发现了虫子 造成问题的形式。测试 这个组合将看看这是否正确 这个案子。发现一名用户Duke Takle 此异常是由 重定向:我也有同样的经历 艾伯特·史密斯的《过早结束》。 我发现问题是 被分离到,即5.0。这个 困扰我的应用程序在做什么 在构造一个 多部分请求。看起来像这样 施工进行得很顺利,除了在I.E。 5.0浏览器试图再次发出请求,此时 ServletInputStream为空。我已经 将应用程序修改为 编写所需的响应,而不是 重定向。观察到了这个问题 并按照Tomcat 4.0中的描述进行了修复 和WebLogic6.1。其他用户有 在处理servlet时发现错误 它们在其中调用request.getParameter() 而不是 multipartRequest.getParameter()和 一些服务器错误地读取输入 当其getParameter()为 被称为导致“意外的结束” 部分”


因此,问题是由我两次调用MultipartParser构造函数引起的,这是偶然的。第二次失败,因为请求已被处理