zoukankan      html  css  js  c++  java
  • 基于Winform、WPF等的客户端文件下载

      有时候,我们用C#写一些客户端应用程序需要从服务器下载一些资源,如图片、dll、配置文件等。下面就来说一下,在Winform及WPF中如何下载文件。

    我们的资源大多放在自己的网站上,或者从其他网站下载资源,我们需要给客户端一个URL,先给出代码:

        /// <summary>
          /// 下载文件
          /// </summary>
          /// <param name="URL">下载文件地址</param>
          /// <param name="Filename">下载后的存放地址</param>
          public void DownloadFile(string URL, string filename)
          {
             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;
    
                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;
                   so.Write(by, 0, osize);
    
                   osize = st.Read(by, 0, (int)by.Length);
                }
                so.Close();
                st.Close();
             }
             catch (System.Exception)
             {
                throw;
             }
          }

    这个方法一共两个参数,第一个网络URL,第二个是本地存储的位置,如D:Download下,可以根据自己的需要填写。下面是调用方法:

             Downloader down = new Downloader();
             down.DownloadFile("http://www.***.com/20140124.jpg", @"d:1.jpg");

    有了这个方法,我们可以抓去网页内容,通过正则匹配,去下载整个网页的图片,可以自己研究一下。

  • 相关阅读:
    3. 23 模拟面试
    3.15 模拟面试
    C++ 浅谈virtual
    3.6 模拟面试
    为s5pv210烧录镜像
    HISI VENC 实际输出帧率控制
    live555 交叉编译移植到海思开发板
    雄迈取流
    面试官吐槽:“软件测试员就是不行!”网友:我能把你面哭了!——软件测试笔试面试题目完全汇总
    “女人~,你在玩火”一个有磁性的声音说道——常用自动化测试工具
  • 原文地址:https://www.cnblogs.com/yunfeifei/p/3842746.html
Copyright © 2011-2022 走看看