下面的功能是正确的,但是,我想将文件地址传到一个新的页面,而该页面一打开就开始下载,
可是,我一把下载功能的函数加到page_load中,该页面就自动关闭!但是我如果我在该页面添加一按钮,然后通过该按钮来执行该下载功能就正确了!但是我不想这样,我想该网页一打开就执行下载下载,一下载完成,就自动关闭。
string file = this.Label6.Text; 
        FileInfo fl = new FileInfo(file); 
        if (fl.Exists == true) 
        { 
            const long ChunkSize = 102400;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力 
            byte[] buffer = new byte[ChunkSize]; 
            Response.Clear(); 
            System.IO.FileStream iStream = System.IO.File.OpenRead(file); 
            long dataLengthToRead = iStream.Length;//获取下载的文件总大小 
            Response.ContentType = "application/octet-stream"; 
            Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fl.Name.ToString(), System.Text.Encoding.UTF8)); 
            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(); 
        }