Ejemplo n.º 1
0
 private void callback(DowloadInfoLineHandlerEventArgs e)
 {
     try
     {
         this.Invoke((MethodInvoker) delegate()
         {
             String fName = e.Link.Substring(urlRepositoryLocation.Length);
             int t        = fName.IndexOf('&');
             if (t > 0)
             {
                 fName = fName.Substring(0, t - 1);
             }
             addToStatusLine(String.Format("Download : {0}/{1} - {2}", e.Count, e.FileLength, fName));
         });
     }
     catch (Exception) { }
 }
Ejemplo n.º 2
0
        public void downloadData(string SourceUrl, string fileName, DowloadInfoLineHandler callback, long TimeStamp, long lenData)
        {
            newFileName     = fileName;
            mSourceUrl      = SourceUrl;
            this.m_callback = callback;
            mTimeStamp      = TimeStamp;



            checkDir(newFileName);

            fileStream = new FileStream(newFileName, FileMode.Create);
            long istart = 0;
            int  ReRead = 0;

            do
            {
                ReRead++;
                if (ReRead > 20)
                {
                    break;
                }
                istart = fileStream.Length;
                downloadChunk(istart, lenData);

                long position = fileStream.Position;
                long d        = RequestLen;
                DowloadInfoLineHandlerEventArgs e = new DowloadInfoLineHandlerEventArgs(position, d, String.Copy(SourceUrl), null);
                m_callback(e);
            } while (fileStream.Length < RequestLen);

            if (fileStream != null)
            {
                fileStream.Close();
            }
        }