zoukankan      html  css  js  c++  java
  • WPF下载文件并且动态显示进度

    前台新建一个控件ProgressBar控件,并命名为pbDown
                WebRequest request = WebRequest.Create("http://files.cnblogs.com/fornet/404.rar");
                WebResponse respone = request.GetResponse();
                pbDown.Maximum = respone.ContentLength;
                ThreadPool.QueueUserWorkItem((obj) =>
                    {
                        Stream netStream = respone.GetResponseStream();
                        Stream fileStream =new FileStream(@"d:404.rar",FileMode.Create);
                        byte[] read = new byte[1024];
                        long progressBarValue = 0;
                        int realReadLen = netStream.Read(read, 0, read.Length);
                        while (realReadLen > 0)
                        {
                            fileStream.Write(read,0, realReadLen);
                            progressBarValue += realReadLen;
                            pbDown.Dispatcher.BeginInvoke(new ProgressBarSetter(SetProgressBar), progressBarValue);
                            realReadLen = netStream.Read(read, 0, read.Length);
                        }
                        netStream.Close();
                        fileStream.Close();

                    }, null);
    更新UI:
            public delegate void ProgressBarSetter(double value);
            public void SetProgressBar(double value)
            {
                pbDown.Value =value;
            }

  • 相关阅读:
    (教程)怎么避免拼多多比价订单行为
    Ubuntu下搭建apache2+GGI环境
    搭建k8s
    我的2021年总结
    工作三年的一些感悟
    xshell6+xftp6免安装破解版
    centos7启动docker容器时提示Error response from daemon: Unknown runtime specified dockerrunc
    解决一个C#中定时任务被阻塞问题
    工程中实际问题解决两例——基于C#
    解决一次gitlab因异常关机导致启动失败
  • 原文地址:https://www.cnblogs.com/sntetwt/p/8888718.html
Copyright © 2011-2022 走看看