java ServletOutputStream 输出流 输出的视频文件为什么会字节减少?
/**
* 24h回放节目下载
* @param request
* @param response
* @return
*/
public ModelAndView downLoad(HttpServletRequest request,
HttpServletResponse response) {
HttpURLConnection httpUrl = null;
URL url = null;
try{
/************************客户端下载*********************/
// 得到文件名称
String fileName = request.getParameter("fileName");
// 得到请求地址
url = new URL( request.getParameter("requestUrl"));// 建立链接
httpUrl = (HttpURLConnection) url.openConnection();
BufferedInputStream input = new BufferedInputStream(httpUrl.getInputStream());
response.setHeader("Content-Transfer-Encoding","binary");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
// 设置下载文件头及文件名称
response.setHeader("Content-Disposition", "attachment; filename="
+ fileName);
ServletOutputStream responOutPut=response.getOutputStream();
byte[] buffer = new byte[1024*100];
int i = 0;
while ((i = input.read(buffer)) > 0) {
responOutPut.write(buffer, 0, i);
responOutPut.flush();
}
input.close();
responOutPut.close();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
以上的代码
url是通过网络层接口的来的,视频文件是边生成边下载。服务器生成的速度的1s/10mb 输出流下载速度是1s/600kb
为什么动态视频文件超过500MB通过输出流下载结束后会少掉十几MB 时间也缺少 但是可以正常播放
各位大声求解啊!!!!!!急急急急急