using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Html; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.IO; namespace MisIngredientesVue.Extensions { public static class EnumerableExtensions { public static IEnumerable DistinctBy(this IEnumerable source, Func keySelector) { HashSet seenKeys = new HashSet(); foreach (TSource element in source) { if (seenKeys.Add(keySelector(element))) { yield return element; } } } } public static class HtmlHelpers { public static HtmlString GetCompanyLogoAsBase64(this IUrlHelper urlHelper, string filePath) { return null; //filePath = filePath.Replace("~/", ""); //var env = urlHelper.ActionContext.HttpContext.RequestServices.GetService(); //var fileInfo = env.ContentRootFileProvider.GetFileInfo(filePath); //return urlHelper.GetFileAsBase64(fileInfo.PhysicalPath); } public static HtmlString GetFileAsBase64(this IUrlHelper htmlHelper, string filePath) { string fileAsBase64; using (var reader = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { var buffer = new byte[reader.Length]; reader.Read(buffer, 0, (int)reader.Length); fileAsBase64 = Convert.ToBase64String(buffer); } return new HtmlString(fileAsBase64); } } }