仅在safari浏览器上,在java中下载视频文件时抛出套接字写入错误
尝试从存储库下载视频文件时,仅在safari浏览器上引发套接字写入错误。它可以与其他浏览器配合使用。我不确定是浏览器问题还是代码问题仅在safari浏览器上,在java中下载视频文件时抛出套接字写入错误,java,java-7,java-io,Java,Java 7,Java Io,尝试从存储库下载视频文件时,仅在safari浏览器上引发套接字写入错误。它可以与其他浏览器配合使用。我不确定是浏览器问题还是代码问题 InputStream is = new FileInputStream(aFile);//File is loading here properly. try { byte[] buf = new byte[32768]; // 4K buffer int bytesRead; while ( ( byte
InputStream is = new FileInputStream(aFile);//File is loading here properly.
try {
byte[] buf = new byte[32768]; // 4K buffer
int bytesRead;
while ( ( bytesRead = is.read( buf, 0, 32768 ) ) > 0 ) {
out.write(buf,0,bytesRead );
}
}
finally {
if ( is != null ) is.close();
if ( stampedFile != null && enableProofText )
{
if ( !stampedFile.delete() )
{
throw new IOException();
}
}
}
下面是错误
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
08:47:00,297 ERROR [stderr] (http--0.0.0.0-180-10) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:403)
08:47:00,298 ERROR [stderr] (http--0.0.0.0-180-10) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:354)
08:47:00,299 ERROR [stderr] (http--0.0.0.0-180-10) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:426)
08:47:00,300 ERROR [stderr] (http--0.0.0.0-180-10) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:415)
08:47:00,300 ERROR [stderr] (http--0.0.0.0-180-10) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
我不知道我做错了什么?我不明白为什么
32768
是4k
,因为4*1024=4096
。难道你不想提取一个常数吗?这是否意味着这适用于Chrome、Firefox或Opera?能否添加一个catch
子句并打印出异常?我尝试使用4096作为字节大小,但它不起作用。这就是我增加字节大小的原因。从Tomcat文档:java.io.IOException-发生了底层IOException
。它并没有说更多,但它在chrome、firefox等浏览器上运行。