C#-CHTTPDownload
来源:互联网 发布:Windows 填写ip地址 编辑:程序博客网 时间:2024/06/10 22:42
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; } } }}
0 0
- C#-CHTTPDownload
- 【VC编程】VC下一个通过HTTP协议下载的类(CHttpDownload)
- c
- c
- c
- c
- C
- c
- c
- c
- C+
- c
- C
- c
- c
- c
- C
- C
- Frame和bounds,clipsToBounds和masksToBounds
- MySQL表字段类型
- 面向对象 +JAVA学习笔记-DAY06
- 桌面歌词的同步显示
- 猜数字小游戏
- C#-CHTTPDownload
- afx是什么?
- Linux中设置和同步时间
- Unity+Vuforia开发增强现实(AR)教程——识别图的那些坑
- JavaWeb中监听器+过滤器+拦截器区别、配置和实际应用
- 27. Remove Element (python)
- 机器学习算法总结(面试用到)
- Fiddler对安卓应用手机抓包图文教程
- Java对象之死