2011-09-29 60 views
2

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

这是我如何创建链接。

@{ 
      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>        
       } 
      } 
     } 

回答

2

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

+0

所以我需要将我的物理路径转换为虚拟路径才能工作 – samack

+0

是的,这是正确的。 – kprobst