在文件上传中处理套接字上的意外EOF读取的更好方法是什么?

时间:2015-03-19 19:02:36

标签: java spring-mvc file-upload eofexception

我使用Spring MVC在后端实现文件上传,而前端只是一个普通的HTML

<form method="POST" enctype="multipart/form-data" action="/upload">
    file to upload: <input type="file" name="file"><br>
    <input type="submit" value="Upload" />
</form>

一切正常,除非我在上传过程中关闭浏览器,我会看到服务器抛出错误(你必须提前中断该过程才能看到它)

java.io.EOFException: Unexpected EOF read on the socket
at org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:152)
at org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177)
at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110)
at org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:416)
at org.apache.coyote.Request.doRead(Request.java:460)
at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:338)
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:395)
...

我想知道是否有更好的方法来处理异常,或者我可以放心地保留它?

1 个答案:

答案 0 :(得分:4)

您的代码无法处理此异常。

此异常也不会造成损害,因为它只会通知网络套接字意外关闭(在收到上传的所有内容之前)。

您可以尝试修改日志设置以禁止此异常,但您可能也会错过其他例外。