为什么是把一整个读完以后才输出到客户端,而不是读一次输出一次
String mimetype=dds.getString( "mimetype ");//这是设置它的类型
response.getHttpServletResponse().reset();
response.setContentType(mimetype);
response.setHeader( "Content-Disposition ", "attachment; filename= "+ new String(name.getBytes(), "iso8859-1 "));//处理默认文件名的中文问题
ServletOutputStream os = response.getHttpServletResponse().getOutputStream();
//File f = new File (url);
FileInputStream in = new FileInputStream(url);
long old = System.currentTimeMillis();
byte[] data = new byte[10*1024*1024];
int temp = -1;
int c = 0;
while ((temp = in.read(data)) != -1)
{
os.write(data, 0, temp);
os.flush();
}
------解决方案--------------------浏览器向服务器发送请求,服务器在处理完请求后会向浏览器输出结果,这个过程是由一次请求完成的所以会一起输出到浏览器,除非你有多个请求.
------解决方案--------------------因为视屏文件一般都在150mb左右!一次性读完的话,消耗的时间会比较久,可不可以先让它读到一半,输出到客户端,然后把剩下的再继续读!
------解决方案--------------------那就得采用流媒体的方式