public async Task <IActionResult> Avatar(string id) { var site = await GetCurrentSiteAsync(); var filePath = _pathResolver.ResolveContentFilePath($"site{site.Id}/useravatars/{id}.png"); if (System.IO.File.Exists(filePath)) { var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var contentPath = _pathResolver.ResolveContentPath($"site{site.Id}/useravatars/{id}.png"); var imageUrl = Path.Combine(siteUrl, contentPath).Replace("\\", "/"); var viewModel = new ShareAvatarViewModel() { CardDescription = site.AvatarCardDescription, ImageUrl = imageUrl, PageUrl = siteUrl + Request.Path }; return(View(viewModel)); } else { _logger.LogWarning($"No avatar found for id: {id}"); TempData[TempDataKey.AlertDanger] = "Avatar not found."; return(RedirectToAction(nameof(HomeController.Index), "Home")); } }
public async Task <IActionResult> Avatar(string id) { var site = await GetCurrentSiteAsync(); var filePath = _pathResolver.ResolveContentFilePath($"site{site.Id}/useravatars/{id}.png"); if (System.IO.File.Exists(filePath)) { var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var contentPath = _pathResolver.ResolveContentPath($"site{site.Id}/useravatars/{id}.png"); var imageUrl = Path.Combine(siteUrl, contentPath).Replace("\\", "/"); var viewModel = new ShareAvatarViewModel() { CardDescription = site.AvatarCardDescription, ImageUrl = imageUrl, PageUrl = siteUrl + Request.Path }; return(View(viewModel)); } else { return(NotFound()); } }
public async Task <IActionResult> Avatar(string id) { if (await GetSiteSettingBoolAsync(SiteSettingKey.Avatars.DisableSharing)) { return(NotFound()); } var site = await GetCurrentSiteAsync(); var filePath = _pathResolver .ResolveContentFilePath($"site{site.Id}/useravatars/{id}.png"); if (System.IO.File.Exists(filePath)) { var siteUrl = await _siteService.GetBaseUrl(Request.Scheme, Request.Host.Value); var contentPath = _pathResolver .ResolveContentPath($"site{site.Id}/useravatars/{id}.png"); var imageUrl = Path.Combine(siteUrl, contentPath) .Replace("\\", "/", StringComparison.OrdinalIgnoreCase); var viewModel = new ShareAvatarViewModel() { ImageUrl = imageUrl, Social = new Domain.Model.Social { Description = site.AvatarCardDescription, ImageLink = imageUrl } }; return(View(viewModel)); } else { return(NotFound()); } }