Files
Umbraco-CMS/src/Umbraco.Core/Models/MediaExtensions.cs

33 lines
1.1 KiB
C#
Raw Normal View History

using System.Linq;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.PropertyEditors;
namespace Umbraco.Extensions
{
public static class MediaExtensions
{
/// <summary>
2020-10-05 20:48:38 +02:00
/// Gets the URL of a media item.
/// </summary>
public static string GetUrl(this IMedia media, string propertyAlias, MediaUrlGeneratorCollection mediaUrlGenerators)
{
if (media.TryGetMediaPath(propertyAlias, mediaUrlGenerators, out var mediaPath))
{
return mediaPath;
}
return string.Empty;
}
/// <summary>
2020-10-05 20:48:38 +02:00
/// Gets the URLs of a media item.
/// </summary>
public static string[] GetUrls(this IMedia media, ContentSettings contentSettings, MediaUrlGeneratorCollection mediaUrlGenerators)
=> contentSettings.Imaging.AutoFillImageProperties
.Select(field => media.GetUrl(field.Alias, mediaUrlGenerators))
.Where(link => string.IsNullOrWhiteSpace(link) == false)
.ToArray();
}
2017-07-20 11:21:28 +02:00
}