rt

解决方案 »

  1.   

    你要HTTP下载还是FTP下载啊 ?
      

  2.   

    private void DownFile()
      {
       if(TempDown!="")
       {
       
        if(Downloading==false) //如果无文件下载
        {
         long fb;
         this.apc_status_1.Text="正在连接到 " + TempDown;
         Downloading=true;
         try
         {
          //====尝试URL有效性,以及初始化下载界面
          WebRequest myre=WebRequest.Create(TempDown);
          WebResponse mwrite=myre.GetResponse();
          fb=mwrite.ContentLength;
          this.apc_status_1.Text="连接成功..开始下载..";
          pbar.Value=0;
          pbar.Maximum=(int)fb;
          pbar.Visible=true;
          this.ApcList.Height=156;
          //====开始下载
          WebClient wc=new WebClient();
          SaveFileDialog sf=new SaveFileDialog();
          sf.Title="请选择文件存放的位置";
          filename=CurrentFileName;
          sf.FileName=filename.Substring(filename.LastIndexOf("/")+1,filename.Length-filename.LastIndexOf("/")-1);
          sf.ShowDialog(this);
          filename=sf.FileName;
          if(filename!="")
          {
           Stream srm=wc.OpenRead(TempDown);
           StreamReader srmer=new StreamReader(srm);
           byte[] mbyte=new byte[fb];
           int allbyte=(int)mbyte.Length;
           int startbyte=0;
           while(fb>0)  //################   循环读取文件,并显示进度.....
           {
            Application.DoEvents();
            int m=srm.Read(mbyte,startbyte,allbyte);
            if(m==0){break;}
            startbyte+=m;
            allbyte-=m;
            pbar.Value+=m;
            int a1=(int)startbyte/1024;
            int a2=(int)fb/1024;
            this.apc_status_1.Text="连接成功..开始下载.." + a1.ToString() + "/" + a2.ToString() + "KB";//startbyte + "/" + fb.ToString();
           }       FileStream fs = new FileStream(filename,FileMode.OpenOrCreate);
           fs.Write(mbyte,0,mbyte.Length);
           fs.Flush(); 
           srm.Close();
           srmer.Close();
           fs.Close();       this.ApcList.Height=170;
           pbar.Visible=false;
           this.apc_status_1.Text="文件下载完毕!";
          }                      
         }
         catch(WebException exp) //如地址无效或者找不到文件
         {
          MessageBox.Show(exp.Message,"听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
         }
         Downloading=false;
        }
        else
        {
         MessageBox.Show("对不起,当前正在下载文件.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
       }
       else
       {
        if(WhichDown==1)
        {
         MessageBox.Show("当前并无文件播放.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
        else
        {
         MessageBox.Show("请在列表中选择好想要下载的文件.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
       }
       
      }
      

  3.   

    private void DownFile()
      {
       if(TempDown!="")
       {
       
        if(Downloading==false) //如果无文件下载
        {
         long fb;
         this.apc_status_1.Text="正在连接到 " + TempDown;
         Downloading=true;
         try
         {
          //====尝试URL有效性,以及初始化下载界面
          WebRequest myre=WebRequest.Create(TempDown);
          WebResponse mwrite=myre.GetResponse();
          fb=mwrite.ContentLength;
          this.apc_status_1.Text="连接成功..开始下载..";
          pbar.Value=0;
          pbar.Maximum=(int)fb;
          pbar.Visible=true;
          this.ApcList.Height=156;
          //====开始下载
          WebClient wc=new WebClient();
          SaveFileDialog sf=new SaveFileDialog();
          sf.Title="请选择文件存放的位置";
          filename=CurrentFileName;
          sf.FileName=filename.Substring(filename.LastIndexOf("/")+1,filename.Length-filename.LastIndexOf("/")-1);
          sf.ShowDialog(this);
          filename=sf.FileName;
          if(filename!="")
          {
           Stream srm=wc.OpenRead(TempDown);
           StreamReader srmer=new StreamReader(srm);
           byte[] mbyte=new byte[fb];
           int allbyte=(int)mbyte.Length;
           int startbyte=0;
           while(fb>0)  //################   循环读取文件,并显示进度.....
           {
            Application.DoEvents();
            int m=srm.Read(mbyte,startbyte,allbyte);
            if(m==0){break;}
            startbyte+=m;
            allbyte-=m;
            pbar.Value+=m;
            int a1=(int)startbyte/1024;
            int a2=(int)fb/1024;
            this.apc_status_1.Text="连接成功..开始下载.." + a1.ToString() + "/" + a2.ToString() + "KB";//startbyte + "/" + fb.ToString();
           }       FileStream fs = new FileStream(filename,FileMode.OpenOrCreate);
           fs.Write(mbyte,0,mbyte.Length);
           fs.Flush(); 
           srm.Close();
           srmer.Close();
           fs.Close();       this.ApcList.Height=170;
           pbar.Visible=false;
           this.apc_status_1.Text="文件下载完毕!";
          }                      
         }
         catch(WebException exp) //如地址无效或者找不到文件
         {
          MessageBox.Show(exp.Message,"听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
         }
         Downloading=false;
        }
        else
        {
         MessageBox.Show("对不起,当前正在下载文件.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
       }
       else
       {
        if(WhichDown==1)
        {
         MessageBox.Show("当前并无文件播放.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
        else
        {
         MessageBox.Show("请在列表中选择好想要下载的文件.","听啪啪 提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
        }
       }
       
      }