使用 iframe 时,嵌入式 base64 pdf 不会在 IE 中显示

Posted

技术标签:

【中文标题】使用 iframe 时,嵌入式 base64 pdf 不会在 IE 中显示【英文标题】:Embedded base64 pdf won't display in IE when using iframe 【发布时间】:2013-05-27 07:09:26 【问题描述】:

我希望在 html 中显示一个使用 base64 编码嵌入的 pdf 文件。 下面是我为此编写的代码。 pdf 文件在 Chrome 和 firefox 中显示,但在 Internet Explorer 中不显示。

知道如何让它在 IE 中运行吗? Adobe Reader 插件对我来说在 IE 中正常工作。

<iframe src="data:application/pdf;base64,baseEncodedString"></iframe>

由于字符限制,我无法粘贴基本编码字符串。但它的大小为 401676 个字符。

【问题讨论】:

IE 在使用 base64 显示元素时有限制。看看***.com/questions/12791952/…上的一些cmets@ 为什么首先要对其进行base64编码? 【参考方案1】:

除了“它”是一个糟糕的解决方案之外,我会这样做:

<iframe src="/unbase64.php?mime=application/pdf&str=baseEncodedString"></iframe>

然后

<?php
header("Content-Type: " . $_GET["mime"]);
echo base64_decode($_GET["str"]);
?>

很愚蠢,可能会经常达到最大 URL 长度,但它在原则上是有效的。

【讨论】:

以上是关于使用 iframe 时,嵌入式 base64 pdf 不会在 IE 中显示的主要内容,如果未能解决你的问题,请参考以下文章

iFrame src 不适用于 Android Webview 中的 Base64 编码 HTML 内容

在 Typescript 中对嵌入的 PDF 进行 Base64 解码

如何使用 javamail 将 base64 图像嵌入到电子邮件中

base64 嵌入式 PDF 文件不会在 Chrome 中呈现

如何解码base64 fbx嵌入图像

将 Base64 字符串解码为字节数组