Created
June 17, 2021 13:25
-
-
Save FransdeJong/23869e39a4a1e6a356ec222d6de51374 to your computer and use it in GitHub Desktop.
Check filetype of Umbraco mediapicker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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; | |
| } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| namespace SomeNamespace | |
| { | |
| public enum MediaFileType | |
| { | |
| None, | |
| Article, | |
| Audio, | |
| File, | |
| Folder, | |
| Image, | |
| SVG, | |
| Video | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <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