byte[] bytes = new byte[1024 * 4];
ServletOutputStream outputStream = response.getOutputStream();
while( inputStream.read(bytes) > 0){
outputStream.write(bytes);
}
使用 outputstream.write(byte)时,输出的文件是损坏的,我在测试过程中是输出视频文件 大小为20.4M,是损坏的文件
byte[] bytes = new byte[1024 * 4];
int len;
ServletOutputStream outputStream = response.getOutputStream();
while((len = inputStream.read(bytes)) > 0){
outputStream.write(bytes,0,len); // 如果用outputStream.write(bytes); 的话下载的视频是损坏的,但是大小没变
}
改用 outputStream.write(bytes,off,len) 后,输出的文件仍然为 20.4M ,但是视频就可以打开观看了
以后都用 带offset 的那个方法了