php - 在 PHP 中显示 LONGBLOB 的 (pdf) 内容

标签 php mysql

我正在尝试显示存储在我的 LONGBLOB 中的 PDF 文件。当我执行代码时,我只得到文件的名称。我想在查看器中显示 PDF 文件。

有人知道我该如何解决这个问题吗?

这是我的脚本:

          <?php
            $tpurchase_id = $_GET['tpurchase_id'];
            $conn = new mysqli("localhost","user","","db");
            $sql = "SELECT * FROM temp_purchase WHERE tpurchase_id= '$tpurchase_id'";

            $result = $conn->query($sql);
            if ($result->num_rows > 0) {
              while($row = $result->fetch_assoc()) {
                header("Content-type:application/pdf");

                $a=$row['content'];
                echo '<object data="data:application/pdf;base64,';
                echo base64_decode($a); 
                echo '" type="application/pdf" style="height:200px;width:60%"></object>';
              }
            }
            $conn->close();

          ?>

最佳答案

我认为这可以毫无问题地工作,提供更多标题信息

header("Content-type: application/pdf");
header('Content-disposition: attachment; filename="thing.pdf"');
header("Content-Length: " . strlen($row['content']));

print $row['content'];

关于php - 在 PHP 中显示 LONGBLOB 的 (pdf) 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55582715/

相关文章:

PHP 安全性、intval 和 htmlspecialchars

php - 在 Symfony 2 元素中安装 Bootstrap 主题

MySQL UPDATE BEFORE 触发谜题

php - 使用 php/mysql 进行简单的 php 分页或 css 分页

人体高度的 MySQL 变量(tinyint 或 smallint)

mysql - 如何使用MySQL实现nodeJs服务器上多个用户的安全读写操作,避免不一致状态?

javascript - 如何在javascript的回显中转义html

php - 表连接混淆检索数据

mysql - 如何在多列上创建 FULLTEXT 索引?

php - 将值插入另一个表