从ReportViewer下载PDF

时间:2015-09-02 18:49:00

标签: c# pdf crystal-reports

我有一个"下载PDF"用于呈现ReportViewer并使用Adobe Reader在浏览器中打开它的按钮 这是代码:

Warning[] warn = null;
String[] streamids = null;
String mimeType = "application/pdf";
String encoding = String.Empty;
String extension = String.Empty;
Byte[] byteViewer;
byteViewer = report.LocalReport.Render("pdf", null, out mimeType, out encoding, out extension, out streamids, out warn);
Response.Buffer = true;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline; filename=" + fileName + ".pdf");
Response.BinaryWrite(byteViewer);
Response.Flush();
Response.End();

但是现在,我想打开下载对话框来下载文件,而不是打开pdf。我应该对代码进行哪些更改?

@edit 这个问题的答案过于广泛,我的问题被要求简化下载ReportViewer的过程,并为未来可能遇到这个问题的C#程序员添加一个参考,而不必挖掘无用的PHP代码行来查找答案。

1 个答案:

答案 0 :(得分:0)

为了简化可能发现此问题的未来StackOverflow用户的代码:

Response.AddHeader("content-disposition", "inline; filename=" + fileName + ".pdf");

,只需将inline更改为attachment,即可下载该文件,而不是在浏览器中打开。

这个答案太简单了,所以我会查看"社区维基"公平。