ASP.NET - 下载文件&在浏览器上显示

时间:2013-11-26 11:15:13

标签: c# asp.net webpage

我的任务非常简单,在按钮上单击我想在浏览器上显示生成的PDF,但同时在客户端计算机上下载。

我已经制作了两个功能,一个用于下载&其他用于在浏览器上显示它。当我单独运行它们时,它们就像魅力一样,但是当我在按钮上一起调用它们时,只有那个被称为第一个才能工作,其他人只是没有做任何事情。

以下是下载文件的代码。

_page.Response.Clear();
            _page.Response.AddHeader("Content-Disposition", "attachment; filename=payments.xls");
            //Download the file and prompt the user to save
            _page.Response.BinaryWrite(data);
            _page.Response.End();

以下是在浏览器上显示的代码

 _page.Response.Clear();
            _page.Response.ContentType = "application/pdf";
            _page.Response.OutputStream.Write(_datastrem.GetBuffer(), 0, _datastrem.GetBuffer().Length);
            _page.Response.Flush();

**我还应该提一下,我想在POSTBACK上做所有这些。

1 个答案:

答案 0 :(得分:1)

您没有完全显示您的代码,但是从您所描述的内容中我可以说这不起作用:您只能对每个HTTP响应执行一个操作。您可以按下文件进行下载(content-disposition在浏览器中显示该文件。

如果要同时执行这两项操作,则必须使用显示该文件的中间页面,然后(例如使用JavaScript)执行文件下载。

相关问题