C# 下载带进度条代码(普通进度条)

     
        ///           /// 下载带进度条代码(普通进度条)          ///           /// 网址          /// 下载后文件名为          /// 报告进度的处理(第一个参数:总大小,第二个参数:当前进度)          /// True/False是否下载成功          public static bool DownLoadFile(string URL, string Filename, Action updateProgress = null)        {            Stream st = null;            Stream so = null;             System.Net.HttpWebRequest Myrq =null;             System.Net.HttpWebResponse myrp = null;            bool flag = false;            try            {                Myrq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(URL); //从URL地址得到一个WEB请求                     myrp = (System.Net.HttpWebResponse)Myrq.GetResponse(); //从WEB请求得到WEB响应                     long totalBytes = myrp.ContentLength; //从WEB响应得到总字节数                //更新进度                if (updateProgress != null)                {                    updateProgress((int)totalBytes,0);//从总字节数得到进度条的最大值                  }                st = myrp.GetResponseStream(); //从WEB请求创建流(读)                     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; //更新文件大小                         Application.DoEvents();                    so.Write(by, 0, osize); //写流                         //更新进度                    if (updateProgress != null)                    {                        updateProgress((int)totalBytes, (int)totalDownloadedByte);//更新进度条                     }                    osize = st.Read(by, 0, (int)by.Length); //读流                     }                //更新进度                if (updateProgress != null)                {                    updateProgress((int)totalBytes, (int)totalBytes);                }                flag= true;            }            catch(Exception )            {                flag = false;                throw;                //return false;            }            finally            {                if (Myrq != null)                {                    Myrq.Abort();//销毁关闭连接                }                if (myrp != null)                {                    myrp.Close();//销毁关闭响应                }                if (so != null)                {                    so.Close(); //关闭流                 }                if (st != null)                {                    st.Close(); //关闭流                  }            }            return flag;        }


调用方式一:

 if (FileUpDownload.DownLoadFile("下载文件的网址", "文件名", new Action(        (int Maximum, int Value)        =>        {            //更新进度条            progressBar1.Maximum = Maximum;            progressBar1.Value = Value;        }))){//下载文件后的处理}

不传参数的action写法:

((Form)form).BeginInvoke(new Action(() =>            {                //处理            })

调用方式二:

 
 if (FileUpDownload.DownLoadFile("下载文件的网址", "文件名", UpdateProgressBar)) {//下载文件后的处理}////更新进度条private void UpdateProgressBar(int Maximum, int Value){     progressBar1.Maximum = Maximum;     progressBar1.Value = Value;}


小注:调用代码中的progressBar1是微软的进度条控件

URL示例:http://www.php.cn/

如果要充Windows Server上下载文件的话,需要在iis中配置,该目录为可以访问的,具体配置步骤如下:

1、找到需要下载文件对应的目录:

C# 下载带进度条代码(普通进度条)

2、在右侧找到《目录浏览》:

C# 下载带进度条代码(普通进度条)

3、在《目录浏览》上右键,点击:打开该功能

C# 下载带进度条代码(普通进度条)

4、可以看到下图,启用即可:

C# 下载带进度条代码(普通进度条)

 以上就是C# 下载带进度条代码(普通进度条)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1432281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:26:33
下一篇 2025年12月17日 06:26:42

相关推荐

  • 构建模拟:从头开始的实时交易模拟器

    简介 嘿,开发社区!我很高兴分享我的业余项目 Simul8or – 一个实时日间交易模拟器,旨在为用户提供一个无风险的环境来练习交易策略。该项目 100% 构建在 ASP.NET WebForms、C#、JavaScript、CSS 和 SQL Server 技术堆栈上,没有外部库或框架。从头开始构…

    2025年12月24日
    300
  • 花 $o 学习这些编程语言或免费

    → Python → JavaScript → Java → C# → 红宝石 → 斯威夫特 → 科特林 → C++ → PHP → 出发 → R → 打字稿 []https://x.com/e_opore/status/1811567830594388315?t=_j4nncuiy2wfbm7ic…

    2025年12月24日
    000
  • 如何使用CSS制作网页加载进度条的实现步骤

    如何使用CSS制作网页加载进度条的实现步骤 在现代网页设计中,加载速度对于用户体验至关重要。为了提升用户体验,可以使用CSS制作网页加载进度条,让用户清晰地了解网页加载进度。本文将介绍使用CSS制作网页加载进度条的实现步骤,并提供具体的代码示例。 步骤一:HTML结构首先,需要在HTML中添加一个代…

    2025年12月24日
    000
  • 纯CSS创建各类进度条的 N 种方式(总结分享)

    本篇文章给大家分享几种使用纯css创建进度条的方法,希望对大家有所帮助! 本文将介绍如何使用 HTML/CSS 创建各种基础进度条及花式进度条及其动画的方式,通过本文,你可能可以学会: 通过 HTML 标签 创建进度条通过 HTML 标签 创建进度条HTML 实现进度条的局限性使用 CSS 百分比、…

    2025年12月24日 好文分享
    000
  • css和c的区别是什么

    区别是:1、C语言是一门面向过程、抽象化的通用程序设计语言、计算机编程语言,广泛应用于底层开发;2、CSS是一种用来表现HTML或XML等文件样式的计算机语言,可以做到网页和内容进行分离的一种样式语言。 本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电…

    2025年12月24日
    000
  • 浅谈jQuery+CSS实现前端网页加载进度条的三种方式

    【推荐教程:CSS视频教程 】 前端网页加载进度条的实现有三种方式,看自己需求: 一、顶部进度条 在html代码中间插入jq代码  执行动画。页面加载到哪部分,进度条就会相应的向前走多少 立即学习“前端免费学习笔记(深入)”; 当全部加载完成后将loading进度条模块隐藏 顶部进度条 .loadi…

    2025年12月24日 好文分享
    000
  • css绘制扇形进度条

    前言: 本文为大家分享了利用纯css绘制圆环进度条的方法,在使用本文中的方法时,建议先了解圆心角、弧度制、三角函数等知识。 为实现如下效果呕心沥血: 立即学习“前端免费学习笔记(深入)”; 当然你可以拥抱 Svg…在此分享如何纯 Css 打造圆环进度条,只需三步! 此物乃 2 + 1 夹…

    2025年12月24日 好文分享
    000
  • 使用CSS实现的几种进度条

    (学习视频分享:css视频教程) 进度条是一个非常常见的功能,实现起来也不难,一般我们都会用 div 来实现。 作为一个这么常见的需求, whatwg 肯定是不会没有原生组件提供(虽然有我们也不一定会用),那么就让我们来康康有哪些有意思的进度条实现方式。 常规版 — div 一波流 这是比较常规的实…

    2025年12月24日 好文分享
    000
  • css如何实现圆形进度条

    css实现圆形进度条的方法:首先画一个方形;然后在方形中画两个等大均分方形的矩形;最后使用css3的“transform:rotate”属性将叠加环形根据实际百分比换算成实际的旋转角度即可。 推荐:《css视频教程》 进度条效果如下: 整圆的效果处理会简单些,不完整环实现起来细节多点。下边是实现逻辑…

    2025年12月24日 好文分享
    000
  • css3 如何实现进度条效果

    项目过程中,开始使用了js的requestAnimationFrame方法实现进度条,但是在数据超级多的时候非常影响性能,如此改用css去实现,优化。 先贴代码: Document *{margin: 0;padding: 0} .box{width: 100px;height: 10px;bord…

    2025年12月24日
    000
  • css实现横向与竖向进度条效果的方法

    1、横向进度条的实现代码 横向进度条 .loadbar { width:200px; height:25px; background-color:#fff; border:1px solid #ccc; } .bar { line-height:25px; height:100%; display:…

    2025年12月24日
    000
  • html和CSS制作一个简单的静态进度条(图文详解)

    经常浏览网站或经常进行页面布局的小伙伴,应该对进度条不陌生吧,而且有些进度条在页面刷新时会有动画效果,正在学习前端知识的小伙伴,你会用html和css制作一个简单的静态进度条吗?这篇文章就给大家讲讲如何用html和css实现进度条效果,最后分享html简单进度条代码,感兴趣的朋友可以参考借鉴一下。 …

    2025年12月24日
    000
  • 如何使用css3实现条形进度条效果(附完整代码)

    在音乐和视频播放的时候,不止可以直接查看播放时间,也可以通过观察进度条来查看播放时间,观察进度条这种方法会更加直观的告诉用户还有多久结束,所以进度条是一种非常实用的特殊效果。本文在介绍如何使用css3实现进度条效果的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 使用css3实现…

    2025年12月24日
    000
  • 环形进度条效果怎么实现?用css3实现环形进度条效果代码示例

    上一篇文章我们介绍了如何使用css3实现条形进度条效果(附完整代码),了解到进度条的实用性,那么今天来向大家介绍一下另外一种形式的进度条:环形进度条。 这种进度条适合应用于页面加载的时候和环形计时器的页面。本篇文章给大家带来的内容是关于如何使用css3实现环形进度条效果,有一定的参考价值,有需要的朋…

    2025年12月24日
    000
  • css+div多步骤进度条的实现代码

    本篇文章主要介绍了多步骤进度条的实现原理及代码,具有很好的参考价值。下面一起来看下吧 今天在工作的时候写了一个多步骤进度条的代码,在此跟大家分享一下! 效果图: 代码展示: step ul,li{list-style:none;} .flow_steps{height:55px;width:1000…

    2025年12月24日
    000
  • 如何使用CSS3制作彩色进度条样式

    这篇文章主要介绍了关于如何使用css3制作彩色进度条样式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 用CSS3的border-radius、box-shadow、transition、-moz-linear-gradient、-webkit-gradient等样式就可以完成一个时…

    2025年12月24日
    000
  • 如何使用CSS3制作进度条的简单示例代码

    这篇文章主要介绍了使用css3制作一个简单的进度条(demo)的相关资料,需要的朋友可以参考下 这里只是一个小demo,一个用CSS3写的进度条。 如图所示: 具体代码如下: new document .process-bar{ width:100px; display:inline-block; …

    2025年12月23日
    000
  • 利用CSS3实现进度条的两方法介绍

    这篇文章主要给大家介绍了利用css3实现进度条的两种姿势,文中给出了详细的示例代码和图文介绍,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。 效果图如下:     第一种姿势如下  先上代码 /*对应CSS*/ #progress{ width: 300px; height: 30px; …

    2025年12月23日 好文分享
    000
  • CSS3多步骤进度条的实现原理(附代码)

    本篇文章主要介绍了css3多步骤进度条的实现原理(附代码),具有很好的参考价值。下面跟着小编一起来看下吧 今天在工作的时候写了一个多步骤进度条的代码,在此跟大家分享一下! 效果图: 代码展示: step ul,li{list-style:none;} .flow_steps{height:55px;…

    2025年12月23日
    000
  • 图解CSS3制作圆环形进度条的方法

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后css3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解css3制作圆环形进度条的方法 首先,当有人说你能不能做一个圆形进度条效果出来时,如果是静态完整圆形进度条,那么就很简单了: .circleprogress{…

    2025年12月23日 好文分享
    000

发表回复

登录后才能评论
关注微信