2013-08-02 61 views
1

我最近纔開始使用ASP.NET MVC 4框架,所以這可能是非常簡單的。從項目中下載文件

基本上有一些excel(xlsx)項目中的文件,我需要能夠從網站下載。

目前,我正在做這個

HTML

<a href="@Url.Action("DownloadTemplate", "Data", new { importToRun = item.Key })"></a> 

控制器

public ActionResult DownloadTemplate(string importToRun) 
{ 
    string document = Server.MapPath("~/Infrastructure/document.xlsx"); 
    string type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
    return File(document, type, importToRun); 
} 

我沒有看到確切的錯誤,當我點擊鏈接時,它說它找不到指定目錄中的文件,即使它是正確的,並且文件在那裏。

我在想,如果您從項目/解決方案中下載文件,這是一個不同的過程。

我已經有一個很好的網上看和任何幫助非常感激。

+0

你有沒有通過代碼加強,以驗證在運行時路徑? –

+0

必須處於調試模式 – matthiasgh

+0

這是在您的開發機器上還是在生產服務器上? –

回答

0

感謝您的幫助,問題是路徑。

我是在解決方案引用的地方,當我需要引用該網頁的網址,它可以完美運行現在

0

您的代碼是正確的。所以我會認爲問題出在這個文件上。

  1. 您的網站根目錄中是否存在名爲「Infrastructure」的文件夾?
  2. 嘗試將文件放在「/ App_Data」文件夾中。您現在擁有xlsx文件的方式,知道路徑的人可以直接下載它。用戶不能直接訪問App_Data目錄中的文件。