Skip to content

Instantly share code, notes, and snippets.

@FransdeJong
Created June 17, 2021 13:25
Show Gist options
  • Select an option

  • Save FransdeJong/23869e39a4a1e6a356ec222d6de51374 to your computer and use it in GitHub Desktop.

Select an option

Save FransdeJong/23869e39a4a1e6a356ec222d6de51374 to your computer and use it in GitHub Desktop.
Check filetype of Umbraco mediapicker
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web;
namespace SomeNamespace
{
public static class IPublishedContentExtensions
{
public static MediaFileType GetMediaFiletype(this IPublishedContent mediaItem)
{
if (mediaItem == null)
{
return MediaFileType.None;
}
if (mediaItem.ContentType.ItemType == PublishedItemType.Unknown)
{
return MediaFileType.Folder;
}
var mediaExtension = mediaItem.Value<string>("umbracoExtension");
if (string.IsNullOrWhiteSpace(mediaExtension))
{
return MediaFileType.None;
}
var mediaType = MediaFileType.None;
switch (mediaExtension)
{
case "pdf":
case "doc":
case "docx":
mediaType = MediaFileType.Article;
break;
case "mp3":
case "weba":
case "oga":
case "opus":
mediaType = MediaFileType.Audio;
break;
case "jpg":
case "png":
case "gif":
mediaType = MediaFileType.Image;
break;
case "svg":
mediaType = MediaFileType.SVG;
break;
case "mp4":
case "webm":
case "ogv":
mediaType = MediaFileType.Video;
break;
default:
mediaType = MediaFileType.File;
break;
}
return mediaType;
}
}
}
namespace SomeNamespace
{
public enum MediaFileType
{
None,
Article,
Audio,
File,
Folder,
Image,
SVG,
Video
}
}
<div class="header">
@if (headerBackgroundFiletype == MediaFileType.Image)
{
// imageUrl = content.HeaderBackground.GetLocalCropUrl("desktop")
}
@if (headerBackgroundFiletype == MediaFileType.Video)
{
// VideoUrl = content.HeaderBackground.Url()
}
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment