2010-12-15 35 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

相关问题