我的任务非常简单,在按钮上单击我想在浏览器上显示生成的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上做所有这些。
答案 0 :(得分:1)
您没有完全显示您的代码,但是从您所描述的内容中我可以说这不起作用:您只能对每个HTTP响应执行一个操作。您可以按下文件进行下载(content-disposition
)或在浏览器中显示该文件。
如果要同时执行这两项操作,则必须使用显示该文件的中间页面,然后(例如使用JavaScript)执行文件下载。