如何在iframe或嵌入中将base64String数据显示为pdf?

时间:2019-05-07 21:09:08

标签: iframe model-view-controller embed tobase64string

这是用于在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 set large base64 data

how to display base64 encoded pdf?

Display ASP.NET generated pdf byte[] to web page without saving the file

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

0 个答案:

没有答案