using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using NLog; using NLog.Fluent; using WebDoorCreator.Data.Services; using static System.Net.Mime.MediaTypeNames; namespace WebDoorCreator.UI.Controllers { [Route("api/[controller]")] [ApiController] public class DoorImageController : ControllerBase { [HttpGet("GetImage.svg")] public async Task GetImage(int DoorId) { string svgContent = await QDataServ.DoorGetLastSvg(DoorId); var result = System.Text.Encoding.UTF8.GetBytes(svgContent); return File(result, "image/svg+xml"); } #if false [HttpGet("GetImage.png")] public async Task GetImagePng(int DoorId) { byte[] result = new byte[0]; string svgContent = await QDataServ.DoorGetLastSvg(DoorId); if (!string.IsNullOrEmpty(svgContent)) { var mySvg = SvgDocument.FromSvg(svgContent); //result = System.Text.Encoding.UTF8.GetBytes(svgContent); var myBmp = mySvg.Draw(); result = Utils.ImageToByte2(myBmp); } return File(result, "image/png"); } #endif // GET: api/DoorImage [HttpGet] public string Get() { return "OK"; } public DoorImageController(IConfiguration configuration, QueueDataService DataService) { Log.Info("Starting DoorImageController"); _configuration = configuration; QDataServ = DataService; Log.Info("Avviato DoorImageController"); } #region Private Fields private static IConfiguration _configuration = null!; private static Logger Log = LogManager.GetCurrentClassLogger(); #endregion Private Fields #region Private Properties private QueueDataService QDataServ { get; set; } = null!; #endregion Private Properties } }