2012-04-30 81 views
0

我在我的Web服務器上託管文件,我希望最終用戶能夠在他們的機器上下載此文件的副本以打開並查看。我目前有一個通過foreach循環填充的列表,每個迭代循環都是@ Html.ActionLink(「blahblahblah」)。有沒有辦法在動作鏈接點擊下載文件?從ASP.Net 4.0的Web服務器下載文件C#

+2

你嘗試過這麼遠嗎?目前的行爲如何不符合您的期望? – Jeff

回答

3

點擊一個鏈接確實下載文件...如果文件是HTML,瀏覽器下載它並在瀏覽器中顯示它;如果是其他內容(如EXE),則瀏覽器將其下載到文件系統。

0

而不是使用Html.ActionLink,請使用Url.Content以及(希望它們下載的文件的(應用程序相對)路徑。 ActionLink用於生成指向控制器上的操作的hrefs,而不是應用程序中的原始文件。

0

這些文件是公開的嗎?有沒有限制等?爲什麼不只是有簡單的靜態鏈接到這些文件。

操作鏈接僅創建將被路由到特定控制器和操作的鏈接。

如果您需要保護這些文件,那麼您可以在控制器的相應操作中添加代碼。該操作將從文件中讀取字節並將其轉儲到響應中。您必須將頭添加到瀏覽器才能識別MIME類型並顯示下載對話框或相應地呈現內容。

檢查項目 Returning a file to View/Download in ASP.NET MVC