wwwroot net iformfile bootstrap asp asp.net-core-mvc

asp.net core mvc - net - Descargar archivo usando MVC Core



upload file net core 2 (2)

No puedo encontrar una referencia para descargar un archivo utilizando MVC Core.

Tenemos un único archivo exe para que los miembros lo descarguen de nuestro sitio web. En el pasado hemos puesto

<a href=(file path)> Download < /a> para que nuestros usuarios <a href=(file path)> Download < /a> clic. Me gustaría hacer algo equivalente en MVC Core en la línea de

<a href=@ViewData["DownloadLink"]> Download < /a>

con DownloadLink rellenado con la ruta del archivo.

public class DownloadController : Controller { [HttpGet] public IActionResult Index() { ViewData["DownloadLink"] = ($"~/Downloads/{V9.Version}.exe"); return View(); } }

`

El enlace <a href=@ViewData["DownloadLink"]> Download < /a> obtiene la ruta correcta, pero cuando se hace clic solo se muestra la ruta en la barra de direcciones. ¿Hay una forma sencilla de establecer un enlace de descarga?


No estoy en un lugar donde pueda probarlo, pero ¿algo así haría el truco?

<a href="<%= Url.Content(''~/Downloads/{ V9.Version}.exe'') %>"> Download </a>


Usé this respuesta publicada por @Tieson T para encontrar esta solución.

public FileResult Download() { var fileName = $"{V9.Version}.exe"; var filepath = $"Downloads/{fileName}"; byte[] fileBytes = System.IO.File.ReadAllBytes(filepath); return File(fileBytes, "application/x-msdownload", fileName); }

La vista es ahora

<a asp-action="Download" asp-> Download

@Ageonix también tenía razón al no requerir que ~ llegara a wwwroot