如何从永久 URL(媒体选择器)获取 guid?

How can I get guid from permanent URL (media selector)?

我在自定义 Web 部件中使用永久 urls 来选择 Kentico 的媒体。我想要的是它显示的 url 中的 GUID,这样我就可以从数据库中获取媒体信息(使用文件媒体提供程序)。

这是 URL

的示例

~/getmedia/998dd0ab-10d3-4cc1-bfbd-8e7bec48cf8c/sample_doc.doc

我需要的是998dd0ab-10d3-4cc1-bfbd-8e7bec48cf8c号。我尝试了所有助手都没有成功。

我通常获取 GUID 的方式是通过正则表达式而不是 Kentico API。请尝试以下操作:

string pattern = @"[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}";
string input = "~/getmedia/998dd0ab-10d3-4cc1-bfbd-8e7bec48cf8c/sample_doc.doc";

var guid = Regex.Match(input, pattern, RegexOptions.IgnoreCase).Value;

guid 变量将设置为 998dd0ab-10d3-4cc1-bfbd-8e7bec48cf8c,然后您可以使用它来获取您想要的信息。