![](https://images0.cnblogs.com/blog/300447/201405/302338306975362.gif)
使用
private void Button_Click_1(object sender, RoutedEventArgs e)
{
string url = "http://files.cnblogs.com/xe2011/WpfApplication1_webbrowser_transparent.rar";
bool b =DownloadFile(url, @"D:AdministratorDesktop123.7z", progressBar1, label1);
if (b)
MessageBox.Show("下载成功");
else
MessageBox.Show("下载失败");
} public bool DownloadFile(string URL, string fileName, System.Windows.Controls.ProgressBar progressBar1)
{
try
{
System.Net.HttpWebRequest httpWebRequest1 = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);
System.Net.HttpWebResponse httpWebResponse1 = (System.Net.HttpWebResponse)httpWebRequest1.GetResponse();
long totalLength = httpWebResponse1.ContentLength;
if (progressBar1 != null)
{
progressBar1.Maximum = (int)totalLength;
}
System.IO.Stream stream1 = httpWebResponse1.GetResponseStream();
System.IO.Stream stream2 = new System.IO.FileStream(fileName, System.IO.FileMode.Create);
long currentLength = 0;
byte[] by = new byte[1024];
int osize = stream1.Read(by, 0, (int)by.Length);
while (osize > 0)
{
WpfApplication.DispatcherHelper.DoEvents();
currentLength = osize + currentLength;
stream2.Write(by, 0, osize);
if (progressBar1 != null)
{
progressBar1.Value = (int)currentLength;
label1.Content = String.Format("{0} / {1}", BytesToString(currentLength), BytesToString(totalLength));
}
osize = stream1.Read(by, 0, (int)by.Length);
}
stream2.Close();
stream1.Close();
return (currentLength == totalLength);
}
catch
{
return false;
}
}