C# Response.Write pdf 不适用于 Android 浏览器

标签 c# android reportviewer report

我目前在使用 pdf 导出的 android 环境中遇到了很大的问题。我正在使用报表查看器控件将报表呈现为字节数组。接下来我使用 response.binarywrite 方法将字节流输出到浏览器。这适用于所有浏览器以及 iphone 和 ipad。但是,它不适用于安卓。

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();

最佳答案

您需要从页面中删除所有 HTML(设计时)。

关于C# Response.Write pdf 不适用于 Android 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600271/

相关文章:

c# - 有没有办法将嵌入式 python 脚本作为 python 模块导入到 IronPython 中?

android - 在 Google Play 上发布 2 个 apk。一个用于平板电脑,另一个用于智能手机

android - Firestore离线数据会在后台同步,还是下次启动应用时同步?

android - 如何在 Canvas android 中缩放位图

c# - 如何让 ReportViewer 显示多页(例如每个 DataRow 显示一页)?

c# - 使用 Moq 将参数修改为 stub void 方法

c# - 为什么单击动态创建的复选框列时会添加新行

c# - 控制台应用程序崩溃,未执行全局 try catch 和 UnhandledException

azure - Windows Azure 网站 (WAWS) 上的 ReportViewer 问题

asp.net-mvc - 是否可以将 ReportViewer 与 ASP.NET MVC 一起使用?