13

遇到此异常的原因是什么:

org.apache.commons.fileupload.FileUploadException: 
  Processing of multipart/form-data request failed. Stream ended unexpectedly
4

3 回答 3

12

主要原因是底层套接字被关闭或重置。最常见的原因是用户在文件完全上传之前关闭了浏览器。或者在上传过程中互联网中断。无论如何,服务器端代码应该能够优雅地处理这个异常。

于 2009-03-14T16:47:37.610 回答
3

我处理那个库已经有一年了,但如果我没记错的话,如果有人尝试上传文件,然后更改浏览器 URL(单击链接、打开书签等),那么您可能会遇到该异常。

于 2009-03-14T17:20:19.200 回答
3

如果您使用 FileUpload 从闪存接收上传,您可能会遇到此异常。

至少从版本 8 开始,Flash 包含一个已知的错误:它产生的多部分流被破坏,因为最终边界不包含后缀“--”,这应该表明没有更多的项目跟随。因此,FileUpload 等待下一个项目(它没有得到)并引发异常。

有一种解决方法建议使用流 API 并捕获异常。

catch (MalformedStreamException e) {
    // Ignore this
}

更多详情请参考https://commons.apache.org/proper/commons-fileupload/faq.html#missing-boundary-terminator

于 2016-11-18T09:15:43.843 回答