无法显示数据库中的中等大小pdf blob

问题描述

我试图通过HTML和PHP在XAMPP服务器上显示存储在MariaDB数据库中的PDF

代码

<object data="data:application/pdf;base64,<?PHP echo base64_encode($this->view_data[0]["test"]); ?>" type="application/pdf" style="height:100%;width:100%"></object>

它适用于500kB的PDF,但对于较大的PDF,页面保持空白。

我的XAMPP conf文件中需要做任何配置吗?我试图增加几乎所有这些东西似乎都没有效果
编辑: 我正在使用"SELECT test from PDF WHERE testID = 1"功能

public function dbQuery($query,$params = []){ $stmt = $this->connect()->prepare($query); $stmt->execute($params); if (explode(' ',$query)[0] == "SELECT"){ $result = $stmt->fetchAll(); $this->close($this); return $result; } else{ $this->close($this); return $stmt->fetchAll(); } $this->close($this); }

填充$ this-> view_data变量,以便将PDF存储在$ this-> view_data [0] [“ test”]

对于blobsize

解决方法

我找到了答案。这是因为我没有对LOB(大对象)使用PDO语句 与

    $db = new PDO("mysql:host=".$dbhost.";dbname=".$dbname.";charset=utf8",$dbuser,$dbpwd);
    $stmt = $db->prepare("SELECT test FROM PDFs WHERE testID=?");
    $stmt->execute(array($_GET['testID']));
    $stmt->bindColumn(1,$lob,PDO::PARAM_LOB);
    $stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: application/pdf");
fpassthru($lob);

有效。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...