ftp with download progress bar is not filling c# -


hi people i'm trying put download progress bar ftp download program kinda works progress bar not filling download or after download download completed message code below ;

public void yap(object o)     {         (o label).text = "downloading";     }      private void button1_click(object sender, eventargs e)     {         checkforillegalcrossthreadcalls = false;         parameterizedthreadstart p = new parameterizedthreadstart(yap);         thread t = new thread(p);         t.start(label2);        backgroundworker _backgroundworker = new backgroundworker();         _backgroundworker.dowork += _backgroundworker_dowork;         _backgroundworker.workerreportsprogress = true;         _backgroundworker.progresschanged +=    new   progresschangedeventhandler(_backgroundworker_progresschanged);         _backgroundworker.runworkercompleted +=   new runworkercompletedeventhandler(_backgroundworker_runworkercompleted);         _backgroundworker.runworkerasync();       }      void _backgroundworker_runworkercompleted  (object sender, runworkercompletedeventargs e)     {         messagebox.show("download completed");     }      void _backgroundworker_progresschanged(object sender, progresschangedeventargs e)     {         progressbar1.value = e.progresspercentage;      }      private void form1_load(object sender, eventargs e)     {         autosizemode = autosizemode.growandshrink;         progressbar1.maximum = 100;     }       void _backgroundworker_dowork(object sender, doworkeventargs e)     {        dispatcher.currentdispatcher.invoke  (system.windows.threading.dispatcherpriority.background,new action(delegate()             {                  string yol = environment.currentdirectory;                  ftpwebrequest ftp;                 try                 {                      filestream sr = new filestream(yol + "\\list.gz", filemode.create);                      ftp = (ftpwebrequest)ftpwebrequest.create(new uri ("ftp://" + textbox1.text + "/" + "/usr/valapp/etc/list.gz"));                      ftp.credentials = new networkcredential("username", "password");                      ftp.method = webrequestmethods.ftp.downloadfile;                      ftp.usebinary = true;                      ftpwebresponse response = (ftpwebresponse)ftp.getresponse();                      stream ftpstream = response.getresponsestream();                      long cl = response.contentlength;                      int buffersize = 2048;                     int readcount;                      byte[] buffer = new byte[buffersize];                     readcount = ftpstream.read(buffer, 0, buffersize);                     while (readcount > 0)                     {                         sr.write(buffer, 0, readcount);                         readcount = ftpstream.read(buffer, 0, buffersize);                     }                     ftpstream.close();                     sr.close();                     response.close();                     messagebox.show("file downloaded!");                     (int = 0; <= 100; i++)                     {                         backgroundworker1.reportprogress(i);                          system.threading.thread.sleep(20);                     }                 }                 catch (exception ex)                 {                     messagebox.show(ex.message, "error");                 }               }));     }   }  }  

code might complex totally works told progress bar not filling thank you.

            int cnt=0;             double totalentry=response.contentlength/buffersize;             while (readcount > 0)             {                  sr.write(buffer, 0, readcount);                 readcount = ftpstream.read(buffer, 0, buffersize);                  if(_backgroundworker.workerreportsprogress)                  {                     _backgroundworker.reportprogress(cnt++*100/(int)totalentry);                 }              } 

you may edit part of code.


Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -