我对剃刀的概念很陌生。基本上,我需要下载.pdf文件。路径存储在我的数据库中。
我需要在我的cshtml上有一个超链接,它会在我的Controller中调用一个函数。 然后,在我的控制器上,它将获取我的文件的路径,它将返回到我的cshtml并执行一个windows.open(路径)。
请让我知道这怎么可能,或者更好的方法来执行我需要做的事情。
感谢。
示例:
.cshtml
@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;
}
答案 0 :(得分:2)
您必须返回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”