diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs index 4cbfc17db..6ee649d8a 100644 --- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/Handlers/MediaPartHandler.cs @@ -40,8 +40,15 @@ namespace Orchard.MediaLibrary.Handlers { OnRemoving((context, part) => RemoveMedia(part)); OnLoaded((context, part) => { - if (!String.IsNullOrEmpty(part.FileName)) { + if (!string.IsNullOrEmpty(part.FileName)) { part._publicUrl.Loader(() => _mediaLibraryService.GetMediaPublicUrl(part.FolderPath, part.FileName)); + } else { + // Usually, OEmbedParts won't directly have a source file, but we may be interested + // in easily accessing their source Url. + var oePart = part.As(); + if (oePart != null) { + part._publicUrl.Loader(() => oePart.Source); + } } });