文章分类 | 软件分类 | 最新软件 | 杀毒软件 | 实用软件  | MTV下载  | 设为首页 |
  | 下载分类 | 最近更新
您的位置: 首页 >> 文章首页 >> 技术开发 >> .Net 专栏 >> C#语言 >>  
C#语言点击TOP10
·使用Web服务将C#代码转换为VB.NET代码2006-2-9 18:10:39
·C#编写的windows计算器-源代码2006-2-10 16:08:20
·用Visual C#中实现DB2数据库编程2006-2-9 16:41:48
·C#中的非安全编程2006-2-9 17:32:38
·编程特例篇——LOGO语言2006-2-5 23:53:56
·Visual FoxPro 9中新的数据处理方式2006-2-6 7:50:17
·小议Windows CE 的下浏览器配置2006-2-6 7:50:09
·如何更好更快的debug2006-2-5 23:53:54
·利用c#制作简单的留言板22006-2-9 16:41:33
·C++中通过溢出覆盖虚函数指针列表执行代码2006-2-9 12:28:20
.Net 专栏点击TOP10
·ADO.net中数据库连接方式2006-2-9 17:35:03
·ASP.NET里的事务处理2006-2-5 12:41:30
·使用Web服务将C#代码转换为VB.NET代码2006-2-9 18:10:39
·十天学会ASP.net之第九天2006-2-6 10:10:06
·如何给DataGrid添加双题头分类显示2006-2-5 18:46:43
·使用嵌套的Repeater控件2006-2-5 12:41:52
·Net 下安装、调试的常见问题与错误2006-2-9 9:04:53
·在ASP.NET中值得注意的两个地方2006-2-9 16:40:07
·C#中的非安全编程2006-2-9 17:32:38
·ASP.NET中利用cookies保持客户端信息2006-2-9 17:33:25

 

C#实现大文件分块发送到客户端
作者:我去下载           时间:2006-2-9 18:45:27


System.IO.Stream iStream = null;

 // Buffer to read 10K bytes in chunk:
 byte[] buffer = new Byte[10000];

 // Length of the file:
 int length;

 // Total bytes to read:
 long dataToRead;

 // Identify the file to download including its path.
 string filepath  = "DownloadFileName";

 // Identify the file name.
 string  filename  = System.IO.Path.GetFileName(filepath);

 try
 {
  // Open the file.
  iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
     System.IO.FileAccess.Read,System.IO.FileShare.Read);


  // Total bytes to read:
  dataToRead = iStream.Length;

  Response.ContentType = "application/octet-stream";
  Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);

  // Read the bytes.
    while (dataToRead > 0)
  {
   // Verify that the client is connected.
   if (Response.IsClientConnected)
   {
    // Read the data in buffer.
    length = iStream.Read(buffer, 0, 10000);

    // Write the data to the current output stream.
    Response.OutputStream.Write(buffer, 0, length);

    // Flush the data to the HTML output.
    Response.Flush();

    buffer= new Byte[10000];
    dataToRead = dataToRead - length;
   }
   else
   {
    //prevent infinite loop if user disconnects
    dataToRead = -1;
   }
  }
 }
 catch (Exception ex)
 {
  // Trap the error, if any.
  Response.Write("Error : " + ex.Message);
 }
 finally
 {
  if (iStream != null)
  {
   //Close the file.
   iStream.Close();
  }
 }

 

分页:
相关文章:
Copyright© 2005-2006 wqxz.com, All Rights Reserved. 购买虚拟主机请与本站联系