public List <string> GetStandardDefaultUrls(DefaultSizeType size, string pattern) { _logger.LogInformation($"{nameof(MediaService)}.{nameof(GetStandardDefaultUrls)}.Start"); var relativeFolder = ""; switch (size) { case DefaultSizeType.Original: relativeFolder = _folderConfiguration.Defaults.Originals.GetFullHashPath(); break; case DefaultSizeType.Small: relativeFolder = _folderConfiguration.Defaults.Smalls.GetFullHashPath(); break; case DefaultSizeType.Large: relativeFolder = _folderConfiguration.Defaults.Larges.GetFullHashPath(); break; } var pcPath = Path.Combine(_fileManager.GetAbsoluteMediaRootPath(), relativeFolder); if (string.IsNullOrEmpty(pattern)) { return(Directory.GetFiles(pcPath) .Select(x => _fileManager.ChangePcPathToWeb(Path.Combine(relativeFolder, Path.GetFileName(x)))).ToList()); } var result = Directory.GetFiles(pcPath).Where(x => x.Contains(pattern)) .Select(x => _fileManager.ChangePcPathToWeb(Path.Combine(relativeFolder, Path.GetFileName(x)))).ToList(); _logger.LogInformation($"{nameof(MediaService)}.{nameof(GetStandardDefaultUrls)}.End"); return(result); }
public string CreateRelativeDefaulsPath(string imageName, DefaultSizeType size) { _logger.LogInformation($"{nameof(MediaService)}.{nameof(CreateRelativeDefaulsPath)}.Start"); var name = Path.GetFileNameWithoutExtension(imageName); var ext = Path.GetExtension(imageName); var relativeFolder = ""; switch (size) { case DefaultSizeType.Original: relativeFolder = _folderConfiguration.Defaults.Originals.GetFullHashPath(); break; case DefaultSizeType.Small: relativeFolder = _folderConfiguration.Defaults.Smalls.GetFullHashPath(); break; case DefaultSizeType.Large: relativeFolder = _folderConfiguration.Defaults.Larges.GetFullHashPath(); break; } var result = Path.Combine(relativeFolder, name + $"_{size.ToString().ToLower()}" + ext); _logger.LogInformation($"{nameof(MediaService)}.{nameof(CreateRelativeDefaulsPath)}.End"); return(result); }
public string ToFullDefaultUrl(string shortOriginalUrl, DefaultSizeType defaultSize) { if (string.IsNullOrEmpty(shortOriginalUrl)) { return(null); } if (shortOriginalUrl.Contains(MediaUrl)) { shortOriginalUrl = shortOriginalUrl.Replace(MediaUrl, ""); } var name = Path.GetFileName(shortOriginalUrl); shortOriginalUrl = Path.GetDirectoryName(string.Concat(shortOriginalUrl.SkipWhile(x => x == '/'))); if (defaultSize == DefaultSizeType.Original) { return(MediaUrl + shortOriginalUrl.Replace("\\", "/") + '/' + name); } name = name.Replace("original", defaultSize.ToString().ToLower()); switch (defaultSize) { case DefaultSizeType.Small: return(MediaUrl + shortOriginalUrl.Replace("\\", "/").Replace(new OriginalSizeFolder(null).HashName, new DefaultFolder.SmallDefaultSizeFolder(null).HashName) + '/' + name); case DefaultSizeType.Large: return(MediaUrl + shortOriginalUrl.Replace("\\", "/").Replace(new OriginalSizeFolder(null).HashName, new DefaultFolder.LargeDefaultSizeFolder(null).HashName) + '/' + name); default: throw new Exception($"There is no such default size {defaultSize}"); } }
public async Task <List <string> > GetStandardDefaultsUrl(DefaultSizeType defaultSize, string pattern) { try { _logger.LogInformation($"{nameof(MediaServerConnection)}.{nameof(GetStandardDefaultsUrl)}.Start"); var body = JsonConvert.SerializeObject(new { size = (int)defaultSize, pattern = pattern }); var result = (await MediaServerConnect(_standardDefaultUrl, body)).Urls; _logger.LogInformation($"{nameof(MediaServerConnection)}.{nameof(GetStandardDefaultsUrl)}.End"); return(result); } catch (Exception ex) { _logger.LogError(ex, $"{nameof(MediaServerConnection)}.{nameof(GetStandardDefaultsUrl)}"); } return(new List <string>()); }
public string CreateRelativeDefaulsPath(string imageName, DefaultSizeType size) { var name = Path.GetFileNameWithoutExtension(imageName); var ext = Path.GetExtension(imageName); var relativeFolder = ""; switch (size) { case DefaultSizeType.Original: relativeFolder = _folderConfiguration.Defaults.Originals.GetFullHashPath(); break; case DefaultSizeType.Small: relativeFolder = _folderConfiguration.Defaults.Smalls.GetFullHashPath(); break; case DefaultSizeType.Large: relativeFolder = _folderConfiguration.Defaults.Larges.GetFullHashPath(); break; } return(Path.Combine(relativeFolder, name + $"_{size.ToString().ToLower()}" + ext)); }