使用 php 从数据库中提取 pdf BLOB 并将其显示在 html 页面中不起作用
Pulling pdf BLOB from database using php and displaying it in a html page not working
我正在尝试检索 blob pdf,然后将其显示在页面上。
我正在使用以下代码,但是只显示 base 64 字符串而不是我想要的输出 pdf。
以下是我正在使用的代码。
<?php
//header('Content-type: application/pdf');
require 'connect.php';
$db=mysqli_connect($mysql_host, $mysql_user, $mysql_password,$mysql_dbName);
$sql = "SELECT * FROM files WHERE id = 1688";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
$pdf = base64_encode($result['file']);
echo $pdf;
?>
<object data="<?php echo $pdf ?>" type="application/pdf"></object>
我试过使用
<object data="data:application/pdf;base64,<?php echo base64_encode(content) ?>" type="application/pdf" style="height:200px;width:60%"></object>
并且还把它放在这样的 iframe 中
<object data="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>" type="application/pdf">
<iframe src="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>"></iframe>
</object>
但是pdf文件加载失败
------------编辑 5/8/17--------
我现在使用下面的代码动态添加 iframe 但我收到一条错误消息
Resource interpreted as Document but transferred with MIME type
application/pdf:
这是我新加的javascript
var iframe = document.createElement('iframe');
var src = $('#hiddenBase64').val();//this stores the base64 string
$(iframe).width("100%");
$(iframe).height("100%");
iframe.src = "data:application/pdf;base64," + src;
document.body.appendChild(iframe);
感谢您的帮助。
删除 echo $pdf。这也会在之前输出 base64_encoded pdf。
所以我对此并没有真正取得任何进展,并且已经阅读 Here 将文件存储在数据库中是一种不好的做法。 (我无法弄清楚为什么 pdf 无法加载)
我现在正在做的是将文件存储在我服务器上的一个子文件夹中。然后我将 link 存储到数据库中的文件并显示文件,我只是 运行 一个 select 查询,它提取 link 然后我有 link.
我正在尝试检索 blob pdf,然后将其显示在页面上。 我正在使用以下代码,但是只显示 base 64 字符串而不是我想要的输出 pdf。
以下是我正在使用的代码。
<?php
//header('Content-type: application/pdf');
require 'connect.php';
$db=mysqli_connect($mysql_host, $mysql_user, $mysql_password,$mysql_dbName);
$sql = "SELECT * FROM files WHERE id = 1688";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
$pdf = base64_encode($result['file']);
echo $pdf;
?>
<object data="<?php echo $pdf ?>" type="application/pdf"></object>
我试过使用
<object data="data:application/pdf;base64,<?php echo base64_encode(content) ?>" type="application/pdf" style="height:200px;width:60%"></object>
并且还把它放在这样的 iframe 中
<object data="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>" type="application/pdf">
<iframe src="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>"></iframe>
</object>
但是pdf文件加载失败
------------编辑 5/8/17--------
我现在使用下面的代码动态添加 iframe 但我收到一条错误消息
Resource interpreted as Document but transferred with MIME type application/pdf:
这是我新加的javascript
var iframe = document.createElement('iframe');
var src = $('#hiddenBase64').val();//this stores the base64 string
$(iframe).width("100%");
$(iframe).height("100%");
iframe.src = "data:application/pdf;base64," + src;
document.body.appendChild(iframe);
感谢您的帮助。
删除 echo $pdf。这也会在之前输出 base64_encoded pdf。
所以我对此并没有真正取得任何进展,并且已经阅读 Here 将文件存储在数据库中是一种不好的做法。 (我无法弄清楚为什么 pdf 无法加载)
我现在正在做的是将文件存储在我服务器上的一个子文件夹中。然后我将 link 存储到数据库中的文件并显示文件,我只是 运行 一个 select 查询,它提取 link 然后我有 link.