0
我有一个表单将数据通过JQuery发布到Controller,然后返回FileResult。我有一个与JQuery连接的href,可以成功发布到控制器。生成FileResult,但客户端似乎没有收到它。这是什么标准的方法?使用JQuery/ASP发布表单并获取文件结果MVC
我有一个表单将数据通过JQuery发布到Controller,然后返回FileResult。我有一个与JQuery连接的href,可以成功发布到控制器。生成FileResult,但客户端似乎没有收到它。这是什么标准的方法?使用JQuery/ASP发布表单并获取文件结果MVC
即使您能够以JavaScript接收文件,您将如何处理它?将它保存到客户端计算机?你不能。它并不需要请求使用AJAX返回文件的控制器动作。只需创建一个标准链接,并让用户决定如何处理下载的文件。
所有你需要的是设置正确的HTTP标头:
public ActionResult Download()
{
return File(@"c:\foo.pdf", "application/pdf", "foo.pdf");
}
,然后生成您的下载链接:
<%= Html.ActionLink("download file", "download") %>
这是有道理的。当他们点击下载文件时,我不想触发整页回发。这可能通过打开另一个窗口? – Kenoyer130 2010-12-15 16:00:03
为了说明,文件是基于发布的数据创建的。它不是一个静态文件。 – Kenoyer130 2010-12-15 16:01:46
@Kenoyer,如果您正确设置了响应标题,它将不会导航到该页面。 – hunter 2010-12-15 16:02:43