winfrm
请示范

解决方案 »

  1. using System.Net; 
    using System.IO; 
    using System.Threading; private void StartDownload() 

    Start.Enabled = false; 
    string URL = srcAddress.Text; 
    int n = URL.LastIndexOf("\\"); 
    string URLAddress = URL.Substring(0,n); 
    string fileName = URL.Substring(n+1,URL.Length-n-1); 
    string Dir = tarAddress.Text; 
    string Path = Dir+"\\"+fileName; 
       
    try 

    WebRequest myre = WebRequest.Create(URLAddress); 

    catch(WebException exp) 

    MessageBox.Show(exp.Message,"Error"); 

    statusBar.Text = "开始下载文件...";
    try 
    {   
    //client.DownloadFile(URLAddress,fileName); 
    Stream str = client.OpenRead(URLAddress); 
    StreamReader reader = new StreamReader(str); 
    byte[] mbyte = new byte[100000]; 
    int allmybyte = (int)mbyte.Length; 
    int startmbyte = 0; 
    statusBar.Text = "正在接收数据..."; 
    while(allmybyte>0) 

    int m = str.Read(mbyte,startmbyte,allmybyte); 
    if(m==0) break;  
       
    startmbyte += m; 
    allmybyte -= m; 

       
    FileStream fstr = new FileStream(Path,FileMode.OpenOrCreate,FileAccess.Write); 
    fstr.Write(mbyte,0,startmbyte); 
    str.Close(); 
    fstr.Close();   
    }
    catch(WebException exp) 

    MessageBox.Show(exp.Message,"Error"); 
    statusBar.Text = ""; 

    statusBar.Text = "下载完毕!"; 
    Start.Enabled = true; 

       
       
    private void Start_Click(object sender, System.EventArgs e) 

    Thread th = new Thread(new ThreadStart(StartDownload)); 
    th.Start(); 
    }
      

  2. 就是说给一个winform的示例你是要断点下载,还是直接下载的,
    直接下就点下别存为就OK了如是别的就不好找了
      

类似问题 »