/// <summary> /// 转换微信素材地址为本地地址 /// </summary> /// <param name="htmlContent"></param> /// <returns></returns> public string ConvertWeChatUrlToLocalUrl(string htmlContent) { #region 更换data-src为src var imageTags = HtmlUtil.GetHtmlImagelList(htmlContent); if (!imageTags.IsEmpty()) { var dic = new Dictionary <string, string>(); // 替换url imageTags.Each(item => { dic.TryAdd(item, item.Replace("data-src", "src")); }); htmlContent = htmlContent.Replace(dic); } #endregion #region 更换地址为本地地址 var picList = HtmlUtil.GetHtmlImageUrlList(htmlContent).Distinct(); if (!picList.IsEmpty()) { var dic = new Dictionary <string, string>(); // 替换url picList.Each(item => { var identity = item.Split("/")[4]; var sql = "SELECT * FROM wechat_news_material WHERE media_url like concat('%', @url, '%')"; var data = Broker.Retrieve <wechat_news_material>(sql, new Dictionary <string, object>() { { "@url", identity } }); if (data != null) { dic.TryAdd(item, data.local_url); } }); htmlContent = htmlContent.Replace(dic); } #endregion return(htmlContent); }