jsp如何实现大文件(1G左右)的下载?
jsp实现文件从服务器上下载,使用的是常用的response的流下载方式,文件是一个压缩好了zip包。
由于文件比较大,有的达到了1、2个G,文件在下载中,常常下载未完成就结束了,压缩包看起来好的,但是打开就是损坏的,大小也比较小。
后台出错日志为:
ClientAbortException java.io.IOException
at org.apache.catalina.connector.OutuputBuffer.realWriteBytes<358>358>
at org.apacle.tomcat.util.buf.ByteChunk.flushBuffer<349>349>
at org.apacle.catalina.connector.OutputBuffer.writeBytes<381>381>
我测试了在不同的电脑小下载,情况会不一样。有的电脑可以下载的大小会大些,有的会小些,但都下载不完整。另,在服务器电脑上有时可以直接完全下载,有时也下不完。我感觉与电脑的性能也有关系。
我使用我自己的tomcat运行的程序,在下载时常常下到一定程序明显不动了,过好久又能下载一点,再过一会出错,图片如下:
我的代码:
我的工程分两个应用,web服务器和文件服务器,页面调用web服务器的servlet,web服务器再调用文件服务器的servlet
web服务器代码:
HttpURLConnection conn = (Http