zoukankan      html  css  js  c++  java
  • [GDI+] C# ImageDown帮助类教程与源码下载 (转载)

    点击下载 ImageDown.zip

    1.下载图片到本地
    代码如下

    /// <summary>
    /// 编 码 人:苏飞
    /// 联系方式:361983679  
    /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeinet.com/thread-655-1-1.html[/url]
    /// </summary>
    using System;
    using System.IO;
    using System.Net;
    using System.Text.RegularExpressions;
     
    namespace DotNet.Utilities
    {
        /// <summary>
        /// 图片下载
        /// </summary>
        public class ImageDown
        {
            public ImageDown()
            { }
     
            #region 私有方法
            /// <summary>
            /// 获取图片标志
            /// </summary>
            private string[] GetImgTag(string htmlStr)
            {
                Regex regObj = new Regex("<img.+?>", RegexOptions.Compiled | RegexOptions.IgnoreCase);
                string[] strAry = new string[regObj.Matches(htmlStr).Count];
                int i = 0;
                foreach (Match matchItem in regObj.Matches(htmlStr))
                {
                    strAry = GetImgUrl(matchItem.Value);
                    i++;
                }
                return strAry;
            }
     
            /// <summary>
            /// 获取图片URL地址
            /// </summary>
            private string GetImgUrl(string imgTagStr)
            {
                string str = "";
                Regex regObj = new Regex("http://.+.(?:jpg|gif|bmp|png)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
                foreach (Match matchItem in regObj.Matches(imgTagStr))
                {
                    str = matchItem.Value;
                }
                return str;
            }
            #endregion
     
            /// <summary>
            /// 下载图片到本地
            /// </summary>
            /// <param name="strHTML">HTML</param>
            /// <param name="path">路径</param>
            /// <param name="nowyymm">年月</param>
            /// <param name="nowdd"></param>
            public string SaveUrlPics(string strHTML, string path)
            {
                string nowym = DateTime.Now.ToString("yyyy-MM");  //当前年月
                string nowdd = DateTime.Now.ToString("dd");       //当天号数
                path = path + nowym + "/" + nowdd;
                if (!Directory.Exists(path)) Directory.CreateDirectory(path);
     
                string[] imgurlAry = GetImgTag(strHTML);
                try
                {
                    for (int i = 0; i < imgurlAry.Length; i++)
                    {
                        string preStr = System.DateTime.Now.ToString() + "_";
                        preStr = preStr.Replace("-", "");
                        preStr = preStr.Replace(":", "");
                        preStr = preStr.Replace(" ", "");
                        WebClient wc = new WebClient();
                        wc.DownloadFile(imgurlAry, path + "/" + preStr + imgurlAry.Substring(imgurlAry.LastIndexOf("/") + 1));
                    }
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
                return strHTML;
            }
        }
    }
  • 相关阅读:
    筱玛的迷阵探险(折半搜索+01字典树)
    递推
    thin mission 2021 10 8
    4级 -- 阅读
    c++——小知识
    stl
    string
    ting mission 2021.9.20
    ting mission 2021.9.27
    欧拉函数
  • 原文地址:https://www.cnblogs.com/lizeyan/p/3635690.html
Copyright © 2011-2022 走看看