Asp.net mvc 如何将文件夹路径传递给mvc控制器

Asp.net mvc 如何将文件夹路径传递给mvc控制器,asp.net-mvc,download,path,server.mappath,Asp.net Mvc,Download,Path,Server.mappath,我正试图使用@Html.ActionLink将文件夹路径传递给下载控制器,但我找不到位置错误,如 找不到文件“C:\t” Content\Project\Colege\WebApp\Media\@item.Content' 但是,当我给出硬编码值时,它确实起作用。请问有什么问题吗 这是我的密码: 行动方法: public FileResult Download(string fileName, string filePath) { byte[] fileBytes = System.IO

我正试图使用
@Html.ActionLink
将文件夹路径传递给下载控制器,但我找不到位置错误,如

找不到文件“C:\t” Content\Project\Colege\WebApp\Media\@item.Content'

但是,当我给出硬编码值时,它确实起作用。请问有什么问题吗

这是我的密码: 行动方法:

public FileResult Download(string fileName, string filePath)
{
    byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
    string documentName = fileName;
    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, documentName);
}
看法

如前所述,您的视图中有一个错误:

代码
(“~/Media/@item.Content”)
呈现为
C:\Teerth Content\Project\Colege\WebApp\Media\@item.Content
,您实际上希望在其中
Server.MapPath(“~/Media/”+@item.Content)
查找实际的文件名


但是你需要重新考虑这个设计,因为它将你的整个机器向网络开放。一定会有人尝试
下载(“C:\Teerth Content\Project\Colege\WebApp\web.config”,“web.config”)
,公开您的连接字符串和其他应用程序设置,更不用说您服务器上的其他文件了,您真的不希望客户端下载这些文件

filePath=Server.MapPath(“~/Media/”+@item.Content)
感谢您发现问题。
@Html.ActionLink("Download", "Download", "Marketing", routeValues: new
{
    fileName = @item.Content,
    filePath = Server.MapPath("~/Media/@item.Content"), 
    area = "AffiliateAdmin"
}, htmlAttributes: null)