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");

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

  • 相关阅读:
    MySQl查询语句大全
    并发编程三
    并发编程二
    并发编程
    网络编程
    面向对象高级进阶
    python中的面向对象和面向过程
    为什么还需要学习TypeScript
    Chrome 神器,神奇的技巧
    vue-property-decorator知识梳理
  • 原文地址:https://www.cnblogs.com/yunfeifei/p/3842746.html
Copyright © 2011-2022 走看看