Skip to content

Commit

Permalink
Merge branch 'support/1.1.x'
Browse files Browse the repository at this point in the history
  • Loading branch information
ronaldbarendse committed Jun 8, 2022
2 parents 25662ea + d05a4e0 commit 6f9fb9d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/Umbraco.StorageProviders/CdnMediaUrlProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.PropertyEditors;
using Umbraco.Cms.Core.Routing;
using Umbraco.Extensions;

namespace Umbraco.StorageProviders
{
Expand Down Expand Up @@ -38,7 +39,7 @@ public CdnMediaUrlProvider(IOptionsMonitor<CdnMediaUrlProviderOptions> options,

_cdnUrl = options.CurrentValue.Url;
_removeMediaFromPath = options.CurrentValue.RemoveMediaFromPath;
_mediaPath = hostingEnvironment.ToAbsolute(globalSettings.CurrentValue.UmbracoMediaPath).TrimEnd('/');
_mediaPath = hostingEnvironment.ToAbsolute(globalSettings.CurrentValue.UmbracoMediaPath).EnsureEndsWith('/');

options.OnChange((options, name) =>
{
Expand All @@ -53,7 +54,7 @@ public CdnMediaUrlProvider(IOptionsMonitor<CdnMediaUrlProviderOptions> options,
{
if (name == Options.DefaultName)
{
_mediaPath = hostingEnvironment.ToAbsolute(options.UmbracoMediaPath).TrimEnd('/');
_mediaPath = hostingEnvironment.ToAbsolute(options.UmbracoMediaPath).EnsureEndsWith('/');
}
});
}
Expand All @@ -65,12 +66,18 @@ public CdnMediaUrlProvider(IOptionsMonitor<CdnMediaUrlProviderOptions> options,
if (mediaUrl?.IsUrl == true)
{
string url = mediaUrl.Text;

int startIndex = 0;
if (_removeMediaFromPath && url.StartsWith(_mediaPath, StringComparison.OrdinalIgnoreCase))
{
url = url[_mediaPath.Length..];
startIndex = _mediaPath.Length;
}
else if (url.StartsWith('/'))
{
startIndex = 1;
}

return UrlInfo.Url(_cdnUrl + url, culture);
return UrlInfo.Url(_cdnUrl + url[startIndex..], culture);
}

return mediaUrl;
Expand Down

0 comments on commit 6f9fb9d

Please sign in to comment.