internal static IImageData Create(IUrlResolver urlResolver, MagickFormatInfo formatInfo) { IFileUrlResolver fileUrlResolver = urlResolver as IFileUrlResolver; if (fileUrlResolver != null) { return(new FileImageData(fileUrlResolver.FileName, formatInfo)); } IStreamUrlResolver streamUrlResolver = urlResolver as IStreamUrlResolver; DebugThrow.IfNull(streamUrlResolver); return(new StreamImageData(streamUrlResolver, formatInfo)); }
protected override string GetFileName(HttpContext context) { DebugThrow.IfNull(nameof(context), context); string encoding = GetEncoding(context.Request); if (string.IsNullOrEmpty(encoding)) { return(null); } string cacheFileName = GetCacheFileName("Compressed", encoding, ImageData.FormatInfo.Format); if (!CanUseCache(cacheFileName)) { CreateCompressedFile(encoding, cacheFileName); } context.Response.AppendHeader("Content-Encoding", encoding); context.Response.AppendHeader("Vary", "Accept-Encoding"); return(cacheFileName); }