创建文件下载链接MVC3 Razor视图与模型

时间:2011-09-29 17:11:38

标签: c# asp.net-mvc-3

我正在尝试在视图中创建链接,以便最终用户可以下载我的模型中的文件。在Internet Explorer中我可以右键单击并从链接下载,但我不能左键单击(它不会打开文件)。当我点击它不知道如何打开这个地址的文件时,Firefox给我一条消息,因为协议(d)与任何程序都没有关联。

以下是我创建链接的方式。

    @{
            foreach (var EpubFile in item.files)
            {
                if(File.Exists(System.Configuration.ConfigurationManager.AppSettings["UploadFileDirectory"] + EpubFile.FileReference))
                {
                    string link = System.Configuration.ConfigurationManager.AppSettings["UploadFileDirectory"] + EpubFile.FileReference;
                    <a href="@link">@EpubFile.OriginalFileName</a>                              
                }
            }
        }   

1 个答案:

答案 0 :(得分:2)

确保链接的前缀为http://,并且是URL格式的完整路径或部分路径,而不是文件名形式。例如,c:\inetpub\wwwroot\foo\files\myfile.txt应为/files/myfile.txt。您可以使用Server.MapPath获取Web应用程序根目录下文件的相对路径。