1

这适用于在 android 移动 webview 容器中运行但背后有 mvc 代码的混合应用程序。这就是为什么我不能使用 window.open 来显示 pdf。

我需要使用 iframe 或嵌入可能是在 mvc 视图上显示它。

我从数据库中获取数据作为字节。

 byte[] RptData;
                                    SqlReportData = reader.GetSqlBytes(0);
                                    RptData = SqlReportData.Value;
                                    return RptData;

然后我将其转换为 Base64String 并传入 viewModel。

 viewModel.PdfDataString = Convert.ToBase64String(pdfData);

我尝试了很多我能找到的顶级建议,但没有一个对我有用。

iframe src 设置大型base64数据

如何显示base64编码的pdf?

将 ASP.NET 生成的 pdf byte[] 显示到网页而不保存文件

  <div><iframe src="" type="application/pdf"></iframe>
 </div>

 <div>
 <embed src="" width="100%" height="100%" type="application/pdf"/>
 </div>

<script>
    var pdfData = '@Model.PdfDataString';
    $("iframe").attr("src", 'data:application/pdf;base64,{0}'.replace('{0}', pdfData));
    $("embed").attr("src", 'data:application/pdf;base64,{0}'.replace('{0}', pdfData));
</script>

我想在 mvc 视图上将此 Base64String 数据显示为 pdf。我正在尝试使用 iframe 并嵌入两者。iframe 显示空白,嵌入未显示。

Chrome 调试器显示:

资源解释为文档,但使用 MIME 类型 application/pdf 传输:“data:application/pdf;base64,JVBERi0xLjcKCjQgMCB....(ShowMore 1.6MB)

4

0 回答 0