首页 > 解决方案 > 在 Razor 页面上添加一个简单的 Href 标签以下载 .pdf 文件

问题描述

这适用于我的 C# .NET Web 表单。它是一个指向 .pdf 文件的简单链接,它可以打开它或提示下载位置。我有大约 8 个用于各种文档的链接。这已经工作了多年。

<a href="/docs/evaluationprocedure.pdf">Evaluation Procedure for New and Renewal Courses</a>

但是在我的新 .NET Core 2.2 Razor Pages 应用程序中,我正在将应用程序迁移到我无法弄清楚如何制作这个简单的链接。无论我如何制作链接,我都会收到此错误:

This localhost page can’t be found No webpage was found for the web address: http://localhost:xxxx/docs/evaluationprocedure.pdf

pdf 位于“Pages/docs/”文件夹中。

我努力了:

<a href="evaluationprocedure.pdf">Evaluation Procedure for New and Renewal courses</a>
"./docs/evaluationprocedure.pdf"
"~/docs/evaluationprocedure.pdf"
"Pages/docs/evaluationprocedure.pdf"
"~Pages/docs/evaluationprocedure.pdf"
"../docs/evaluationprocedure.pdf"

我已经进行了相当广泛的搜索,并且我似乎得到了大多数答案,以满足在运行时流式传输文件或动态创建文件的愿望。

标签: hrefrazor-pages

解决方案


所以,就在我上床睡觉之前,我再次尝试用谷歌搜索答案,并在右侧找到了这个没有接受答案的链接(它在标题/链接前面的绿色区域中有一个零。

但我看了看,答案是 3 票,但没有复选框!我的问题是只有 wwwwroot 文件夹允许静态文件下载。但答案显示了如何将代码添加到 Startup.cs 的配置中,以允许从一个人选择的新自定义文件夹下载。

在 .NET Core 项目中添加 PDF 链接

所以我在 wwwroot 文件夹中得到了这个链接来工作:

<a href='@Url.Content("~/evaluationprocedure.pdf")'>Evaluation Procedure for New and Renewal courses</a>

我只是将文件复制到 wwwroot 进行初始测试。现在使用其余的答案来允许我的 docs 文件夹保存静态文件。


推荐阅读