使用 MVC Core 下载文件
Download File using MVC Core
我找不到使用 MVC Core 下载文件的参考。
我们有一个 exe 文件供会员从我们的网站下载。过去我们把
<a href=(file path)> Download < /a>
供我们的用户点击。我想按照
的方式在 MVC Core 中做一些等效的事情
<a href=@ViewData["DownloadLink"]> Download < /a>
用文件路径填充下载链接。
public class DownloadController : Controller
{
[HttpGet]
public IActionResult Index()
{
ViewData["DownloadLink"] = ($"~/Downloads/{V9.Version}.exe");
return View();
}
}
`
link <a href=@ViewData["DownloadLink"]> Download < /a>
获取正确的路径,但单击时仅在地址栏中呈现路径。有没有设置下载的简单方法link?
我不在可以尝试的地方,但是像这样的东西可以解决问题吗?
<a href="<%= Url.Content('~/Downloads/{ V9.Version}.exe') %>"> Download </a>
我使用了@Tieson T 发布的this 答案来提出这个解决方案
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);
}
现在的观点是
<a asp-action="Download" asp->
Download
@Ageonix 关于不需要 ~ 来访问 wwwroot
的说法也是正确的
我找不到使用 MVC Core 下载文件的参考。
我们有一个 exe 文件供会员从我们的网站下载。过去我们把
<a href=(file path)> Download < /a>
供我们的用户点击。我想按照
<a href=@ViewData["DownloadLink"]> Download < /a>
用文件路径填充下载链接。
public class DownloadController : Controller
{
[HttpGet]
public IActionResult Index()
{
ViewData["DownloadLink"] = ($"~/Downloads/{V9.Version}.exe");
return View();
}
}
`
link <a href=@ViewData["DownloadLink"]> Download < /a>
获取正确的路径,但单击时仅在地址栏中呈现路径。有没有设置下载的简单方法link?
我不在可以尝试的地方,但是像这样的东西可以解决问题吗?
<a href="<%= Url.Content('~/Downloads/{ V9.Version}.exe') %>"> Download </a>
我使用了@Tieson T 发布的this 答案来提出这个解决方案
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);
}
现在的观点是
<a asp-action="Download" asp->
Download
@Ageonix 关于不需要 ~ 来访问 wwwroot
的说法也是正确的