如何将cdn网址附加到图片代码?

时间:2014-05-29 19:50:30

标签: c# asp.net asp.net-mvc image cdn

我正在使用asp.net mvc应用程序。我正在输出一些html到一个通过另一个应用程序提供的视图。我希望能够获取此HTML并将CDN域附加到所有图像标记。我不知道该怎么做,但想要一些建议。

1 个答案:

答案 0 :(得分:0)

一种简单的方法是在控制器中使用Html Agility Pack [link]。

例如:

using HtmlAgilityPack;
...
private string AppendCdnToImgSrc(string htmlString)
{
    HtmlDocument htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(htmlString); // or htmlDoc.Load(htmlFileName) if a file

    foreach(HtmlNode img in doc.DocumentElement.SelectNodes("//img[@src]")
    {
        HtmlAttribute attribute = img["src"];
        attribute.Value = attribute.Value + ".cdn";
    }

    // return string output...
    MemoryStream memStream = new MemoryStream();
    htmlDoc.Save(memStream)
    memStream.Seek(0, System.IO.SeekOrigin.Begin);
    StreamReader reader = new StreamReader(memStream);
    return reader.ReadToEnd();
}