【发布时间】:2011-09-29 19:49:50
【问题描述】:
我目前在使用 pdf 导出的 android 环境方面遇到了很大的问题。我正在使用报表查看器控件将报表呈现为字节数组。接下来我使用 response.binarywrite 方法将字节流输出到浏览器。这适用于每个浏览器以及 iphone 和 ipad。但是,它不适用于android。
PDF 说它已损坏。当我在记事本中打开 pdf 时,我看到它正在导出我的整个页面 html,而不是报表查看器生成的字节数组。
代码:
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
string filename = "attachment; filename=Data.pdf";
byte[] bytes = ReportViewer1.ServerReport.Render(
"PDF", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);
Response.Buffer = true;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", filename);
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
【问题讨论】:
-
@Yuliy - 因为它适用于除 Android 之外的所有平台。
-
这对我在 chrome 中也不起作用,我认为这与内置查看器有关。
-
我的页面在 chrome 上运行良好,它是唯一的 android。看起来问题是它正在导出我的页面 html 而不是报表查看器返回给我的字节数组,我不知道为什么。
-
此代码是否在包含 html 的页面中?还是从带有html的页面调用的代码?
-
代码是从带有 html 的页面调用的,因为用户有下拉菜单和复选框,他们可以更改他们想要生成的数据。
标签: c# android reportviewer report