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;
            }
        }
    }
  • 相关阅读:
    ASP.NET Web开发框架之二 数据输入窗体
    针对HTML5的更新和Unobtrusive Validation
    框架:从MVC到开放API
    使用SSIS创建同步数据库数据任务
    MVC里的Filters
    类型构造器也称为静态构造器,类构造器,或类型初始化器
    铁道部新客票系统设计(二)
    深入浅出SQL Server中的死锁
    你所能用到的数据结构(一)
    python网络编程学习笔记(6):Web客户端访问
  • 原文地址:https://www.cnblogs.com/lizeyan/p/3635690.html
Copyright © 2011-2022 走看看