2011-09-29 67 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