2012-07-02 69 views
1

當我使用開幕保存,另存爲對話框從阿賈克斯

了window.location ='<%= Url.Action( 「DownloadFile」, 「家庭」)%>?FILEID = ID,

我在一個不同的屏幕上完全獲取內容

但是,如何打開它作爲一個彈出式的打開,保存,另存爲對話框?

我打了一個ActionResult DownloadFile() 它返回一個File對象。

回答

0

您可以使用File方法的第三個參數指定文件名。這將作爲一個影響到Content-Disposition HTTP響應頭設置爲attachment彈出另存爲對話框,當用戶瀏覽到這一行動:

public ActionResult DownloadFile(string fileId) 
{ 
    byte[] file = ... 
    // TODO: adjust the MIME type and filename extension to your case accordingly 
    return File(file, "text/plain", "foo.txt"); 
} 

然後:

var id = '1234'; 
window.location.href = '<%= Url.Action("DownloadFile", "Home") %>?fileId=' + id; 

會工作得很好。