近一个月来google下载不支持断点了?

背景:网站中有一些不是很大的文件提供客户下载,客户的并发性不是很高,需要实现简单的下载功能。

 

1.这是直接文件流的方式下载  

 

              FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath(FullFilePath), FileMode.Open);

                
byte[] bytes = new byte[(int)fs.Length];

                fs.Read(bytes, 
0, bytes.Length);

                fs.Close();

                Response.ContentType 
= "application/octet-stream";

                
//通知浏览器下载文件而不是打开 

                Response.AddHeader(
"Content-Disposition""attachment; filename=" + HttpUtility.UrlEncode(FileName + Suffix, System.Text.Encoding.UTF8));

                Response.BinaryWrite(bytes);

                Response.Flush();

 

2.后来看到有这样的方式下载,更新了一下。

 

             

   //FullFilePath = System.Web.HttpContext.Current.Server.MapPath(FullFilePath);
                
//System.IO.FileInfo fileInfo = new System.IO.FileInfo(FullFilePath);

                
//if (fileInfo.Exists == true)
                
//{
                
//    const long ChunkSize = 102400;//100K 每次读取文件,只读取100k,这样可以缓解服务器的压力
                
//    byte[] buffer = new byte[ChunkSize];

                
//    Response.Clear();
                
//    System.IO.FileStream iStream = System.IO.File.OpenRead(FullFilePath);
                
//    long dataLengthToRead = iStream.Length;//获取下载的文件总大小
                
//    Response.ContentType = "application/octet-stream";

                
//    Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName));
                
//    while (dataLengthToRead > 0 && Response.IsClientConnected)
                
//    {
                
//        int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小
                
//        Response.OutputStream.Write(buffer, 0, lengthRead);
                
//        Response.Flush();
                
//        dataLengthToRead = dataLengthToRead - lengthRead;
                
//    }
                
//    Response.Close();
                
//}

 

 

运行有一两个月了,没有出现问题,但近期发现chrome中无法下载了,具体表现是下载后都显示已下载xxxxkb(就是实际大小,明显已经下载完了,系统运行中也未能捕获任何异常),打开下载内容的列表发现显示“已中断”。就这个下载状态搜了很久,发现没有什么结论性的东西,都只是说chrome的断点续传有问题。

 

因此觉得可能是和这个有点关系,恢复成旧版本后可以就下载了。

posted @ 2011-06-17 16:58  lynn995  阅读(654)  评论(0编辑  收藏  举报