protected string GetPath(MediaFile mediaFile) { Guard.NotNull(mediaFile, nameof(mediaFile)); if (_pathCache.TryGetValue(mediaFile.Id, out var path)) { return(path); } var ext = mediaFile.Extension.NullEmpty() ?? MimeTypes.MapMimeTypeToExtension(mediaFile.MimeType); var fileName = mediaFile.Id.ToString(ImageCache.IdFormatString).Grow(ext, "."); var subfolder = fileName.Substring(0, ImageCache.MaxDirLength); path = _fileSystem.PathCombine(subfolder, fileName); path = _fileSystem.PathCombine(MediaRootPath, path); _pathCache[mediaFile.Id] = path; return(path); }