using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; using SixLabors.ImageSharp.Web.Caching; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Extensions; namespace Umbraco.Cms.Imaging.ImageSharp; /// /// Configures the ImageSharp physical file system cache options. /// /// public sealed class ConfigurePhysicalFileSystemCacheOptions : IConfigureOptions { private readonly IHostEnvironment _hostEnvironment; private readonly ImagingSettings _imagingSettings; /// /// Initializes a new instance of the class. /// /// The Umbraco imaging settings. /// The host environment. public ConfigurePhysicalFileSystemCacheOptions( IOptions imagingSettings, IHostEnvironment hostEnvironment) { _imagingSettings = imagingSettings.Value; _hostEnvironment = hostEnvironment; } /// public void Configure(PhysicalFileSystemCacheOptions options) { options.CacheFolder = _hostEnvironment.MapPathContentRoot(_imagingSettings.Cache.CacheFolder); options.CacheFolderDepth = _imagingSettings.Cache.CacheFolderDepth; } }