using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using System.IO; namespace MP.Stats.Pages { /// /// Gestione donwnload file csv /// /// da valutare eventualmente xlsx con https://github.com/closedxml/closedxml /// public class DownloadModel : PageModel { #region Public Constructors public DownloadModel(IWebHostEnvironment env) { _env = env; } #endregion Public Constructors #region Public Methods public IActionResult OnGet() { string fileName = "OUT.csv"; if (Request.Query.ContainsKey("fileName")) { fileName = Request.Query["fileName"]; } var filePath = Path.Combine(_env.ContentRootPath, "temp\\", fileName); //var filePath = Path.Combine(_env.WebRootPath, "..\\temp\\", fileName); byte[] fileBytes = System.IO.File.ReadAllBytes(filePath); return File(fileBytes, "application/force-download", fileName); } #endregion Public Methods #region Private Fields private readonly IWebHostEnvironment _env; #endregion Private Fields } }