public ImageFactory(string presetName, string path) { _preset = GetPreset(presetName); var version = _preset?.Version ?? 0; _imageProvider = GetImageProvider(presetName, path, version); }
public ActionResult GetImageResult(ImageProviderBase imageProvider, ImagePreset preset) { // TODO: Add sub-routing based on image format if (imageProvider.Path.ToLowerInvariant().EndsWith(".png")) { return(imageProvider.ServeOriginal("image/png")); } var imagePath = BuildImagePath(imageProvider); if (File.Exists(imagePath)) { return(new FilePathResult(imagePath, "image/jpeg")); } using (var image = imageProvider.GetImage()) { GetScaledImage(preset, image, imagePath); } return(new FilePathResult(imagePath, "image/jpeg")); }
private static string BuildImagePath(ImageProviderBase imageProvider) { var eTag = imageProvider.GetETag(); return($"{ImageCacheLocation}{eTag}.jpg"); }