.Net中模拟上传文件动态显示进度的事件示例

简介:     public class UploadEventArgs : EventArgs//作为事件的参数,必须派生自EventArgs基类     {         public UploadEventArgs(int percent)         {             this.
    public class UploadEventArgs : EventArgs//作为事件的参数,必须派生自EventArgs基类
    {
        public UploadEventArgs(int percent)
        {
            this.Percent = percent;
        }


        public int Percent { get; set; }
    }
    public class Upload
    {
        public event EventHandler<UploadEventArgs> Uploading;//定义事件,上传中实时通知上传进度
        public int Percent{get;private set;}
        public Upload()
        {
            Percent = 0;
        }
        public void DoUpload()
        {
            UploadEventArgs ev=new UploadEventArgs(0);
            while(Percent<100)

            {

//上传文件代码简单,就不写出了

                System.Threading.Thread.Sleep(1000);
                Percent+=15;
                if (Percent > 100) Percent = 100;
                ev.Percent=Percent;
                Uploading(this, ev);
            }
        }
    }
    public class FileToUpload
    {
        private string fileName;


        public FileToUpload(string filename)
        {
            this.fileName = filename;
        }


        public void GetStatus(object sender, UploadEventArgs e)
        {
            Console.WriteLine("file:{0},UploadPercent:{1}", fileName, e.Percent);
        }
    }




    public class EventTest
    {
        public void test()
        {


            var upload = new Upload();


            var file = new FileToUpload("001.dox");
            upload.Uploading += file.GetStatus;
            upload.DoUpload();
        }
    }
相关文章
|
6月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
2月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
33 0
|
4月前
VB.NET—窗体引起的乌龙事件
VB.NET—窗体引起的乌龙事件
33 0
|
6月前
|
JSON C# 数据格式
.net core 上传文件到本地服务器
## 1、本文是上传文件到本地服务器,主要以作者做的业务上传apk为例子,下面直接上代码 ```csharp [HttpGet, HttpPost, HttpOptions] [Consumes("application/json", "multipart/form-data")] public IActionResult UploadFileToServer([FromForm] IFormCollection file) { try { IFormFile item = null; if(file.IsNull() || file.Count
61 0
|
C++
【.Net】使用委托实现被引用的项目向上级项目的消息传递事件
在实际项目过程中,经常可能遇到被引用的项目要向上传递消息,但是又不能通过方法进行返回等操作,这个时候委托就派上用场了。以下使用委托,来实现被引用的项目向上传递消息的小教程,欢迎各位大佬提供建议。1、新增控制台项目(一般在CS架构中会用的比较多,用于跨线程传递消息使用)。此处用一个控制台项目来模拟演示使用委托进行消息事件的传递教程。
75 0
【.Net】使用委托实现被引用的项目向上级项目的消息传递事件
|
前端开发
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
372 0
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
|
JSON 物联网 数据格式
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
327 0
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
|
开发工具 索引
NET SDK连接阿里云ElasticSearch示例
本文主要演示如何使用elasticsearch-net sdk连接阿里云ElasticSearch实例,通过index的创建进行验证测试。
423 0
NET SDK连接阿里云ElasticSearch示例
|
C# 开发工具
NET CORE 七牛云上传文件
NET CORE 七牛云上传文件 文档:https://developer.qiniu.com/kodo/sdk/1237/csharp
499 0
 NET CORE 七牛云上传文件