我使用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)
...
我想知道是否有更好的方法来处理异常,或者我可以放心地保留它?
答案 0 :(得分:4)
您的代码无法处理此异常。
此异常也不会造成损害,因为它只会通知网络套接字意外关闭(在收到上传的所有内容之前)。
您可以尝试修改日志设置以禁止此异常,但您可能也会错过其他例外。