今天部署项目的时候遇到一个诡异的问题,在本地开发的时候,上传大一点的文件什么的没问题,但是一发布上去就报java.io.EOFException错误,网上搜索了半天,发现这个错误的解释是输入过程中意外地到达文件尾或流尾的信号,导致异常;然而刚开始并没有看懂这句话,后来再查,发现可能是文件没有传输完毕就关闭了页面,但是我的页面也是没有关闭的;后来回去看了自己写的代码,发现问题是多方面导致的:
1:服务器网速不行
由于在本地,上传大文件什么的很快,但是发布上去之后,由于服务器网速(阿里云1M宽带)限制,上传的很慢。
2:dropzone插件的问题
我上传文件用的是dropzone,里面有个参数timeout,默认超时时间是30秒。
于是,dropzone在30秒内还没上传完毕就超时关闭了,这不就是在上传过程中意外到达文件尾了嘛,所以spring boot报了java.io.EOFException错误;默默的把超时时间改长,ok,上传好了。