Pārlūkot izejas kodu

修复了离线下载时,MD5 fail 的bug

chenjiangqun 2 gadi atpakaļ
vecāks
revīzija
3a2ed51792
1 mainītis faili ar 12 papildinājumiem un 5 dzēšanām
  1. 12 5
      FactoryTool_CShare/Views/Download.cs

+ 12 - 5
FactoryTool_CShare/Views/Download.cs

@@ -207,17 +207,24 @@ namespace MOKA_Factory_Tools
                 ns = response.GetResponseStream();
                 nreadsize = ns.Read(nbytes, 0, nbytes.Length);
                 int preocess = 0;
-                while (nreadsize > 0)
+                long recSize = 0;
+                do
                 {
+                    nreadsize = ns.Read(nbytes, 0, nbytes.Length);
+                    if (nreadsize == 0)
+                        continue;
+
+                    recSize += (long)nreadsize;
                     fs.Write(nbytes, 0, nreadsize);
-                    //formm.recevMsg.Items.Add("线程" + threadIndex.ToString() + "已下载字节:" + Math.Ceiling(nreadsize / 1024.0f) + "KB");                   
-                    nreadsize = ns.Read(nbytes, 0, nbytes.Length);                  
+                    fs.Flush();
+
                     preocess += (int)Math.Ceiling(nreadsize / 1024.0f);
-                    if(preocess<= formm.ProgressBar1.Maximum)
+                    if (preocess <= formm.ProgressBar1.Maximum)
                     {
                         formm.ProgressBar1.Value = preocess;
                     }
-                }
+                } while (recSize != response.ContentLength);
+
                 fs.Close();
                 ns.Close();
                 response.Close();