欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

C#-CHTTPDownload

发布时间:2025/6/17 C# 15 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C#-CHTTPDownload 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace VideoAddressResolution {class CHTTPDownload{/// <summary> /// c#,.net 下载文件 /// </summary> /// <param name="URL">下载文件地址</param> /// /// <param name="Filename">下载后的存放地址</param> /// <param name="Prog">用于显示的进度条</param> /// public void DownloadFile(string URL, string filename, System.Windows.Forms.ProgressBar prog, System.Windows.Forms.Label label1){float percent = 0;try{System.Net.HttpWebRequest Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL);System.Net.HttpWebResponse myrp = (System.Net.HttpWebResponse)Myrq.GetResponse();long totalBytes = myrp.ContentLength;if (prog != null){prog.Maximum = (int)totalBytes;}System.IO.Stream st = myrp.GetResponseStream();System.IO.Stream so = new System.IO.FileStream(filename, System.IO.FileMode.Create);long totalDownloadedByte = 0;byte[] by = new byte[1024];int osize = st.Read(by, 0, (int)by.Length);while (osize > 0){totalDownloadedByte = osize + totalDownloadedByte;System.Windows.Forms.Application.DoEvents();so.Write(by, 0, osize);if (prog != null){prog.Value = (int)totalDownloadedByte;}osize = st.Read(by, 0, (int)by.Length);percent = (float)totalDownloadedByte / (float)totalBytes * 100;label1.Text = "当前补丁下载进度" + percent.ToString() + "%";System.Windows.Forms.Application.DoEvents(); //必须加注这句代码,否则label1将因为循环执行太快而来不及显示信息}so.Close();st.Close();}catch (System.Exception){throw;}}} }

总结

以上是生活随笔为你收集整理的C#-CHTTPDownload的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。