静态MVC Web应用程序中服务器中pdf文件的链接

时间:2019-06-04 17:57:31

标签: c# asp.net-mvc

我在静态页面中很少有指向存储在服务器中的pdf文件的链接。我将能够单击每个链接,这将在浏览器中打开pdf文件。我提到了这个link。但是它没有按我的预期工作。

这是我的操作方法:

public ActionResult GetFileFromServer(string filename)
{
   string folderpath = StrGlobal.file_folder.ToString();
   string filepath = Path.Combine(folderpath, filename);
   filepath = Path.GetfullPath(filepath);

   return File(filepath, "application/pdf");
}

我的观点:

<p>
   @Html.ActionLink(
   linkText: "ABC Document",
   actionName:"GetFileFromServer",
   controllerName:"StaticPage",
   routeValues:new {filename = "ABC.pdf"},
   htmlAttributes:null
   )
</p>

如果我在这一行中替换并添加了核心文件名:

string filepath = Path.Combine(folderpath, "ABC.pdf");

它将打开特定的pdf文件。否则我会说

Value cannot be null. Parameter name: path2

似乎值没有从视图传递到控制器。如何解决此问题?

1 个答案:

答案 0 :(得分:0)

<a href="/staticpath/ABC.pdf" download>
  Donloadpdf
</a>

嗨,

我们可以使用html下载功能通过简单的方式解决问题。