控制器:
[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核心教程,并在docs
文件夹下创建了wwroot
文件夹
答案 0 :(得分:3)
您可以使用~/
作为路径的前缀
<a href="~/docs/TestFile1.doc">File 1</a>
假设您的docs文件夹位于应用程序的wwwroot
目录中
~/
表示从应用内容根开始的路径。在asp.net核心中,默认情况下它将是wwroot
。
现在,当用户点击链接时,基于浏览器&amp;浏览器设置,它会询问用户提示他们可以选择将文件下载到目录或在浏览器中打开它(如果浏览器有支持插件来显示文档类型)