我正在尝试检索作为动态组件演示文稿发布的多媒体组件文件的二进制 URL。
我可以在 Broker 数据库的 Binaries 表中看到 Url,但我似乎无法使用以下任一代码位获取二进制 url:
使用 SQLBinaryMetaHome:
using (var sqlBinMetaHome = new Com.Tridion.Broker.Binaries.Meta.SQLBinaryMetaHome())
{
int componentItemId = int.Parse(queryStringId.Split('-')[1]);
var binaryMeta = sqlBinMetaHome.FindByPrimaryKey(new TCDURI(publicationId, 16, componentItemId));
if (binaryMeta != null)
{
VideoBinaryUrl = binaryMeta.GetURLPath();
}
else
{
Logger.Log.ErrorFormat("Failed ot load via SQL Binary Meta {0}", queryStringId);
}
}
使用二进制元工厂:
using (var b = new BinaryMetaFactory())
{
var binaryMeta = b.GetMeta(queryStringId);
if (binaryMeta != null)
{
VideoBinaryUrl = binaryMeta.UrlPath;
}
else
{
Logger.Log.ErrorFormat("Failed to load binary meta {0}", queryStringId);
}
}
我可以使用 ComponentMetaFactory 加载组件元数据。
关于为什么我无法加载二进制元的任何想法?我在正确的轨道上吗?
抢