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;
}