public long DownloadFile(string FileURL, string FileSavePath)
{
long Filelength = 0;
long ThisLength = 0;
HttpWebRequest req = HttpWebRequest.Create(FileURL) as HttpWebRequest;
req.Timeout = 10*1000;
req.AllowAutoRedirect = true;
label1.Text = "=> 正在检测 "+FileSavePath + "...";
try
{
HttpWebResponse res = req.GetResponse() as HttpWebResponse;
System.IO.Stream stream = res.GetResponseStream();
Filelength = res.ContentLength;
progressBar1.Maximum = (int)Filelength;
int allk = (int)(Filelength/1024);
label1.Text = "=> 正在下载 "+FileSavePath + "...";
byte[] b = new byte[1024];
int nReadSize = 0;
nReadSize = stream.Read(b, 0, 1024);
System.IO.FileStream fs = System.IO.File.Create(FileSavePath);
try
{
while (nReadSize > 0)
{
label1.Refresh();
progressBar1.Value += nReadSize;
ThisLength += nReadSize;
label1.Text = "=> 正在下载 "+FileSavePath +"("+(int)(ThisLength/1024)+"K/"+allk+"K)";
fs.Write(b, 0, nReadSize);
nReadSize = stream.Read(b, 0, 1024);
}
}
finally
{
fs.Close();
}
progressBar1.Value=0;
progressBar1.Maximum = 0;
label1.Text = "";
res.Close();
stream.Close();
}
catch (Exception er)
{
throw er;
}
return Filelength;
}