如何在ASP.NET MVC Core 2.2中创建下载文件的链接

时间:2019-06-07 09:55:53

标签: c# asp.net-mvc

我正在尝试创建一个链接来下载文件。 我将其放在一页中并且可以使用,但是当我将其移到另一页时无法使用。

这是我正在测试的链接:

<a href="@Url.Action("GetAccessTemplateFile")" target="_blank" class="download-template">@Labels.DownloadTemplate</a> 

在第一页中,它以我已在下面复制的形式在其内部工作:

<form method="post" enctype="multipart/form-data" asp-action="Upload">

Controller内部的方法如下:

public async Task<IActionResult> GetAccessTemplateFile()
{
    string filePath = _configuration["Templates:RoomAccess"];

    string fileName = Path.GetFileName(filePath);

    byte[] fileBytes = await System.IO.File.ReadAllBytesAsync(Path.Combine(_hostingEnvironment.ContentRootPath, filePath));

    return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileName);           
}

这在第一页中有效,但是如果我将链接(和控制器的方法)复制到另一页中则无效:

  • 在调试模式下,未调用控制器中的方法
  • 它将打开一个新的html页面,该页面等于另一个具有链接的页面

谢谢。

0 个答案:

没有答案