Hej,
mój kod:
private void metoda()
{
if (File.Exists(@"plik\plik.rar"));
{
FileInfo fInfo = new FileInfo(@"plik\plik.rar");
long size = fInfo.Length;
System.Net.WebRequest req = System.Net.HttpWebRequest.Create("PLIK");
req.Method = "HEAD";
System.Net.WebResponse resp = req.GetResponse();
long ContentLength;
if (long.TryParse(resp.Headers.Get("Content-Length"), out ContentLength))
{
if (ContentLength == size)
{
lblProgress.Text = "";
}
else
{
lblProgress.Text = "Rozpoczynanie pobierania";
thrDownload = new Thread(Download);
thrDownload.Start();
}
}
}
else
{
lblProgress.Text = "Rozpoczynanie pobierania";
thrDownload = new Thread(Download);
thrDownload.Start();
}
}
Gdy chcę porównać rozmiar dwóch plików i jeżeli nie pasują do siebie to tekst zmienia się na Rozpoczynanie pobierania i niestety, nic się nie dzieje dalej.
Dalsza część:
private void UpdateProgress(Int64 BytesRead, Int64 TotalBytes)
{
PercentProgress = Convert.ToInt32((BytesRead * 100) / TotalBytes);
prgDownload.Value = PercentProgress;
lblProgress.Text = "Pobrano " + BytesRead / 1048576 + "mb z " + TotalBytes / 1048576 + "mb (" + PercentProgress + "%)";
}
bool success;
Chilkat.Rar rar = new Chilkat.Rar();
private void Download()
{
using (WebClient wcDownload = new WebClient())
{
try
{
if (!Directory.Exists("pack"))
{
Directory.CreateDirectory("pack");
}
webRequest = (HttpWebRequest)WebRequest.Create("LINK");
webRequest.Credentials = CredentialCache.DefaultCredentials;
webResponse = (HttpWebResponse)webRequest.GetResponse();
Int64 fileSize = webResponse.ContentLength;
strResponse = wcDownload.OpenRead("LINK");
strLocal = new FileStream("plik/plik.rar", FileMode.Create, FileAccess.Write, FileShare.None);
int bytesSize = 0;
byte[] downBuffer = new byte[2048];
while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
{
strLocal.Write(downBuffer, 0, bytesSize);
this.Invoke(new UpdateProgessCallback(this.UpdateProgress), new object[] { strLocal.Length, fileSize });
}
MessageBox.Show("Zakończono pobieranie");
}
finally
{
strResponse.Close();
strLocal.Close();
}
}
}