亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法顯示數據庫中的中等大小的 pdf blob

無法顯示數據庫中的中等大小的 pdf blob

PHP
手掌心 2023-10-21 09:56:18
我正在嘗試通過 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 <= 500kB 的內容。我嘗試設置 PDO MYSQL_ATTR_MAX_BUFFER_SIZE 但該變量甚至沒有初始化。
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

我找到了答案。這是因為我沒有對 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);

有用。


查看完整回答
反對 回復 2023-10-21
  • 1 回答
  • 0 關注
  • 162 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號