在Umbraco 7中按名称或哈希获取媒体文件夹
我用的是Umbraco 7.4 我想枚举媒体文件夹(“Images\Splash”)中的所有文件 对于自定义类,我从控制器传递UmbracoHelper实例的引用,并可以获得如下文件夹:在Umbraco 7中按名称或哈希获取媒体文件夹,umbraco,umbraco7,Umbraco,Umbraco7,我用的是Umbraco 7.4 我想枚举媒体文件夹(“Images\Splash”)中的所有文件 对于自定义类,我从控制器传递UmbracoHelper实例的引用,并可以获得如下文件夹: var folder = _umbraco.Media(333); 333是我想要的媒体文件夹的Id 如何通过哈希或名称获取此文件夹? 我不想使用Id,因为不能保证不同环境(开发、登台、生产)之间的Id相同。我不认为您可以:-/但您可以将其作为站点上的某个属性(或宏上的参数)因此,您不必在任何地方硬编码ID。
var folder = _umbraco.Media(333);
333是我想要的媒体文件夹的Id
如何通过哈希或名称获取此文件夹?我不想使用Id,因为不能保证不同环境(开发、登台、生产)之间的Id相同。我不认为您可以:-/但您可以将其作为站点上的某个属性(或宏上的参数)因此,您不必在任何地方硬编码ID。我认为您不能:-/但您可以将其作为站点上的某个属性(或宏上的参数),这样您就不必在任何地方硬编码ID。您无法使用Umbraco助手按名称获取媒体项 我的方法是使用Web.config转换,为每个环境(即本地、临时和实时等)设置不同的节点Id
祝你好运
Craig使用Umbraco助手无法按名称获取媒体项目
我的方法是使用Web.config转换,为每个环境(即本地、临时和实时等)设置不同的节点Id
祝你好运
Craig事实证明,您可以使用umbraco助手(\u umbraco)按名称获取媒体文件夹:
事实证明,您可以使用umbraco助手(\u umbraco)按名称获取媒体文件夹:
<add key="HomeNodeId" value="xxxx" />
var mediaService = _umbraco.UmbracoContext.Application.Services.MediaService;
var imagesFolder = (IPublishedContent)mediaService.GetRootMedia().FirstOrDefault(m => m.Name.InvariantEquals("Images"));
var folder = imagesFolder?.Children().FirstOrDefault(c => c.Name.InvariantEquals("Splash"));