C# 从控制器读取文件路径的Razor链接
我对剃须刀的概念很陌生。基本上,我需要下载.pdf文件。路径存储在我的数据库中 我需要在我的cshtml上有一个超链接,它将在我的控制器内调用一个函数。 然后,在我的控制器上,它将获取我的文件的路径,该路径将返回到我的cshtml并执行windows.open(path)操作 请让我知道这是如何可能的,或者可能是更好的方法来执行我需要做的事情 谢谢 例如: .cshtmlC# 从控制器读取文件路径的Razor链接,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我对剃须刀的概念很陌生。基本上,我需要下载.pdf文件。路径存储在我的数据库中 我需要在我的cshtml上有一个超链接,它将在我的控制器内调用一个函数。 然后,在我的控制器上,它将获取我的文件的路径,该路径将返回到我的cshtml并执行windows.open(path)操作 请让我知道这是如何可能的,或者可能是更好的方法来执行我需要做的事情 谢谢 例如: .cshtml @Html.ActionLink ( linkText: "My Link", actionName: "DownloadF
@Html.ActionLink (
linkText: "My Link",
actionName: "DownloadFiles",
controllerName: "Files",
routeValues: new
{
fileId: id,
fileType: "PDF"
},
htmlAttributes: null
windows.open(path);
控制器
public ActionResult DownloadFiles(int fileId, string fileType)
{
string FilePath = "";
FilePath = service.GetFilePath(fileId,fileType);
return FilePath;
}
您必须返回fileresult,它是ActionResult的子类:
public FileResult DownloadFile()
{
string FilePath = "";
FilePath = service.GetFilePath(fileId,fileType);
// add virtual file path only
return File(FilePath, "application/pdf");
}
这里的虚拟路径可以是“~/Uploadfile/mypdf.pdf”谢谢,这也带来了一个解决方案。没问题。只是出于兴趣,你不觉得在问问题之前先用谷歌搜索一下吗?事实上,我已经搜索了好几个小时,没有发现任何运气。也许,因为我对razor缺乏了解,所以我找不到合适的关键字进行搜索。