如何通过 MVC 视图中的锚链接 open/download 静态文件

How to open/download static files via anchor links within an MVC View

控制器:

[HttpGet]
public async Task<IActionResult> DownLoad_Files()
{
    return View();
}

查看 [DownLoad_Files.cshtml ]:

<ul>
    <li><a href="docs/TestFile1.doc">File 1</a></li>
    <li><a href="docs/TestFile2.pdf">File 2</a></li>
    ....
</ul>

错误 [当点击上述链接之一时]:

This localhost page can’t be found

No webpage was found for the web address: http://localhost:50507/ControllerName/docs/TestFile1.doc
Search Google for localhost 50507/ ....TestFile1.doc
HTTP ERROR 404

问题:我怎样才能使上面的链接起作用,以便链接的文件在浏览器中打开(即下载)? 注意:我正在尝试按照 Serving Static Files 上的官方 ASP.NET 核心教程进行操作,并在 wwroot 文件夹下创建了 docs 文件夹

你可以使用~/作为路径的前缀

<a href="~/docs/TestFile1.doc">File 1</a>

假设您的文档文件夹位于应用程序的 wwwroot 目录中

,这应该可以工作

~/ 表示从应用程序的内容根开始的路径。在asp.net核心中,默认为wwroot

现在,当用户点击 link 时,根据浏览器和浏览器设置,它会提示用户选择将文件下载到目录的位置或在浏览器中打开文件(如果浏览器有支持插件显示文档类型)