当前位置: 首页 > news >正文

长宁网站制作网站后台管理系统源代码

长宁网站制作,网站后台管理系统源代码,网站收录提交入口网址,怎么用ngrok做网站第一种下载带进度的方法 string url "https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi"; 1使用getASync获取服务器响应数据 参数1请求的路径, 参数2 HttpCompletionOption.ResponseHeadersRead 请求完成时候等待请求带什么程度才…

第一种下载带进度的方法

string url = "https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi";

1使用getASync获取服务器响应数据

参数1请求的路径,
            参数2 HttpCompletionOption.ResponseHeadersRead 请求完成时候等待请求带什么程度才代表请求成功
            ResponseHeadersRead 读取到响应头的时候算是请求完成, 响应头有个字段可以获取资源大小
            ResponseContentRead 读取到整个响应内容算是请求完成

HttpResponseMessage res = await new HttpClient().GetAsync(url,HttpCompletionOption.ResponseHeadersRead);
2 获取url的文件名称
 string fileName = Path.GetFileName(url);
3 将响应数据读取带stream对象中
Stream stream =  await res.Content.ReadAsStreamAsync();
4 记录响应数据的总大小 在响应头里面有一个ContentLength字段获取响应大小也就是下载的总大小
long all =  res.Content.Headers.ContentLength ?? 0;
6 定义一个字节数组 字节数组容量是8KB的大小
byte[] bytes = new byte[1024*8];

           从数据流读取到字节数组,并且从0开始读取,到字节数组被容纳完为止
           返回值是整型的,代表是读取的位置
           stream.Read(bytes, 0, bytes.Length); 

int nowReadCount = 0; //当前读取的位置

如果读取的位置不为0,证明还有数据,还得再次读取数据

while((nowReadCount = stream.Read(bytes, 0, bytes.Length))!=0)
{// 读取数据 //b把当前读取的数据写入本地fs.Write(bytes, 0, nowReadCount);loadByte += nowReadCount;// 记录总下载量Console.WriteLine(loadByte);//用已经下载量/总量 *100 转成百分制度。double progress = (double)loadByte /(double) all * 100;this.progressBar1.Value = (int)progress;
}
fs.Close();
MessageBox.Show("下载完成");

安装第三方,Microsoft.AspNet.WebApi.Client,
提供了一个下载事件,在事件函数可以获取下载进度

1创建httpclientHandler 事件对象
HttpClientHandler handler = new HttpClientHandler();

2 创建下载进度的事件对象

ProgressMessageHandler pro = new ProgressMessageHandler(handler);

3 创建下载进度的事件函数

 pro.HttpReceiveProgress += Pro_HttpReceiveProgress;

  Pro_HttpReceiveProgress类

private void Pro_HttpReceiveProgress(object sender, HttpProgressEventArgs e)
{Console.WriteLine(e.ProgressPercentage);//记录当前的进度//Invoke调用一个方法this.Invoke((Action) (() =>{this.progressBar1.Value = e.ProgressPercentage;}));
}
4 创建请求对象并且发请求,获取响应 目的是为了通知下载进度对象,再触发对应的Pro_HttpReceiveProgress函数
 HttpClient client = new HttpClient(pro);
var res = await  client.GetAsync("https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi");
5 读取响应数据写入本地
var stream = await res.Content.ReadAsStreamAsync();
var fs = new FileStream("node.msi", FileMode.Create);
fs.CopyTo(fs);
fs.Close();
stream.Close();

http://www.yayakq.cn/news/595562/

相关文章:

  • 网站建设艾瑞市场分析个人网站制作在线
  • 怎样防止别人利用自己电脑做网站wordpress 文字不显示
  • 南京做网站南京乐识好php源码
  • 湖北商城网站建设多少钱网易企业邮箱附件打不开
  • 邢路桥建设总公司网站WordPress如何发布内容到页面上
  • 做网站选哪家公司商丘网站推广渠道
  • 响水县住房和城乡建设局网站佛山网站建设3lue
  • 如何制作局域网站有名的网站开发工具
  • 社交网站是怎么做的案例分析网站
  • 城市建设模拟游戏网站西安网站设计锦
  • 建站公司网站模板网站备案幕布照片怎么算合格
  • 加强网站信息建设管理在线培训系统平台
  • 网络建站优化科技精品资料网提供企业管理知识
  • 做中英文网站旧域名新网站
  • 国内永久免费crm系统网站推荐注册公司场地有什么要求
  • 互联国际网站建设阅读网站的目的
  • 阳光创信-网站建设首选品牌总部基地网站建设
  • 甘肃省建设厅查询网站aso优化方案
  • 网站怎么推广效果最好wordpress淘客主题
  • 东营网站设计多少钱网站的建设和编程
  • 专题网站建设解决方案微信app下载安装免费
  • 济宁市兖州区城市建设局网站商业空间设计理念
  • 域名所有人是网站名不能转出购物网站优化的建议
  • 广州邮局网站wordpress水煮鱼
  • 本地东莞网站建设广东网站建设软件
  • 在演示文稿上网站怎么做天元建设集团有限公司违约
  • 制作外贸网站的公司北京软件开发公司滕迎江
  • 旅游网站建设主要工作不需要流量的地图导航软件
  • 怀远网站建设哪家好wordpress page template
  • 网站的推广方案怎么写配送货wordpress