示例#1
0
        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"));
            }
        }
示例#2
0
        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());
            }
        }
示例#3
0
        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());
            }
        }