2010-12-15 61 views

回答

3

即使您能夠以JavaScript接收文件,您將如何處理它?將它保存到客戶端計算機?你不能。它並不需要請求使用AJAX返回文件的控制器動作。只需創建一個標準鏈接,並讓用戶決定如何處理下載的文件。

所有你需要的是設置正確的HTTP標頭:

public ActionResult Download() 
{ 
    return File(@"c:\foo.pdf", "application/pdf", "foo.pdf"); 
} 

,然後生成您的下載鏈接:

<%= Html.ActionLink("download file", "download") %> 
+0

這是有道理的。當他們點擊下載文件時,我不想觸發整頁回發。這可能通過打開另一個窗口? – Kenoyer130 2010-12-15 16:00:03

+0

爲了說明,文件是基於發佈的數據創建的。它不是一個靜態文件。 – Kenoyer130 2010-12-15 16:01:46

+0

@Kenoyer,如果您正確設置了響應標題,它將不會導航到該頁面。 – hunter 2010-12-15 16:02:43

相關問題