Umbraco内容中未填写图片src

Image src is not filled out in Umbraco content

我们有一个带有 Richtext 编辑器并在文本中放置图像的文档类型。 当我们查看 Umbraco 下的内容时,显示的图像看起来很好。

当 Umbraco 保存内容并省略 src 部分时,我想确保当内容显示在不同的地方时它始终具有正确的域名 servers/website/domains... 所以它不会是在数据库或索引中。

问题是,当我们通过 ContentServiceExamine 获取内容时,图像 link 不存在,它只有 data-udi:

<img style="width: 479px; height: 288px;" src="?width=479&amp;height=288&amp;mode=max" alt="" data-udi="umb://media/0fc389ff96e949169014c0faf05220d0" />

而不是这个,就像在 Umbraco 下:

<img style="width: 479px; height: 288px;" src="https://www.example.com/media/5gengd5j/image1.png?width=479&amp;height=288&amp;mode=max" alt="" data-udi="umb://media/0fc389ff96e949169014c0faf05220d0" />

我们应该怎么做才能确保图像 link 生成,就像它们是在后台完成的一样?

是否有我们可以调用的方法来填充基于 GuidUdi 的 src 字段的全部内容?

IContentService cs = Services.ContentService;
IContent content = cs.GetById(ID);
string mainString = content.Properties["main"].GetValue()
???

(我们正在使用 Umbraco 8.2.1)

在深入研究 Umbraco 的源代码后,我找到了解决方案 here

TemplateUtilities 有方法可以根据 data-udi 插入指向各种对象的链接:

string mainString = content.Properties["main"].GetValue()
mainString = TemplateUtilities.ParseInternalLinks(mainString, Current.UmbracoContext.UrlProvider);
mainString = TemplateUtilities.ResolveUrlsFromTextString(mainString);
mainString = TemplateUtilities.ResolveMediaFromTextString(mainString);