/// <summary> /// returns String.Empty if not found in the cache. /// </summary> /// <param name="FullSizeImageFilenameOnDisk"></param> /// <param name="longestSidePixels"></param> /// <param name="shortestSidePixels"></param> /// <returns></returns> protected static string getCachedThumbnailUrl(BaseShowThumbnailPageParameters config, string FullSizeImageFilenameOnDisk, int displayBoxWidth, int displayBoxHeight) { ImageDiskCache diskCache = new ImageDiskCache(config.diskCacheStorageDirectoryPath); string cacheKey = getImageCacheKey(FullSizeImageFilenameOnDisk, displayBoxWidth, displayBoxHeight); string imgExtension = Path.GetExtension(FullSizeImageFilenameOnDisk); if (diskCache.ExistsInCache(cacheKey, imgExtension)) { string url = diskCache.CacheKeyToUrl(cacheKey, imgExtension); return(url); } return(String.Empty); }
/// <summary> /// if width and height can not be determined, returns a new size with isEmpty = true. /// </summary> /// <param name="config"></param> /// <param name="filename"></param> /// <param name="longestSidePixels"></param> /// <param name="shortestSidePixels"></param> /// <returns></returns> protected static System.Drawing.Size getDisplayWidthAndHeight(BaseShowThumbnailPageParameters config, string filename, int displayBoxWidth, int displayBoxHeight) { string FullSizeImageFilenameOnDisk = config.fullSizeImageStorageDir + filename; string cacheKey = getImageCacheKey(FullSizeImageFilenameOnDisk, displayBoxWidth, displayBoxHeight); ImageDiskCache diskCache = new ImageDiskCache(config.diskCacheStorageDirectoryPath); if (config.useDiskCache && diskCache.ExistsInCache(cacheKey, Path.GetExtension(FullSizeImageFilenameOnDisk))) { string fn = diskCache.CacheKeyToFilename(cacheKey, Path.GetExtension(FullSizeImageFilenameOnDisk)); return(Thumbnail2.getDisplayWidthAndHeight(fn, displayBoxWidth, displayBoxHeight)); } else if (File.Exists(FullSizeImageFilenameOnDisk)) { return(Thumbnail2.getDisplayWidthAndHeight(FullSizeImageFilenameOnDisk, displayBoxWidth, displayBoxHeight)); } else { return(new System.Drawing.Size()); } }