RSS
热门关键字:  Java  idc 下载  域名  idc  idc+下载
当前位置 :| 主页>程序设计>VB>

一段显示下载进度条的下载文件代码

来源:商务互联 作者:孟宪会 时间:2008-04-01 点击:

VB.NET


<!--StartFragment-->  Public Shared Sub DownFile(ByVal URL As String, ByVal Filename As String, ByVal Prog As ProgressBar)
    Dim Myrq As HttpWebRequest = HttpWebRequest.Create(URL)
    Dim myrp As HttpWebResponse = Myrq.GetResponse
    Dim totalBytes As Long = myrp.ContentLength
    Prog.Maximum = totalBytes
    Dim st As Stream = myrp.GetResponseStream
    Dim so As Stream = New FileStream(Filename, FileMode.Create)
    Dim totalDownloadedByte As Long = 0
    Dim by(1024) As Byte
    Dim osize As Integer = st.Read(by, 0, by.Length)
    While osize > 0
      totalDownloadedByte = osize + totalDownloadedByte
      Application.DoEvents()
      so.Write(by, 0, osize)
      Prog.Value = totalDownloadedByte
      osize = st.Read(by, 0, by.LongLength)
    End While
    so.Close()
    st.Close()
  End Sub 

C#
public static void DownFile( string URL, string Filename, ProgressBar Prog )
{
  System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
  System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();
  long totalBytes = myrp.ContentLength;
  Prog.Maximum = (int)totalBytes;
  System.IO.Stream st = myrp.GetResponseStream();
  System.IO.Stream so = new System.IO.FileStream(Filename, System.IO.FileMode.Create);
  long totalDownloadedByte = 0;
  byte[] by = new byte[1024];
  int osize = st.Read(by, 0, (int)by.Length);
  while (osize > 0)
  {
    totalDownloadedByte = osize + totalDownloadedByte;
    Application.DoEvents();
    so.Write(by, 0, osize);
    Prog.Value = (int)totalDownloadedByte;
    osize = st.Read(by, 0, (int)by.Length);
  }
  so.Close();
  st.Close();
            }
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表