【发布时间】:2020-02-20 10:23:03
【问题描述】:
请帮帮我。
我试图将已转换为 blob 数据类型的 PDF 文件保存在数据库中,并且成功。但是,我不知道如何检索(*retrieve 是成功的)数据并将其再次显示为 PDF 文件。我已经尝试了我在互联网资源中找到的所有内容,但都没有成功。我尝试的一些互联网源代码可以保存从 blob 解码的 PDF 文件,但文件已损坏。
希望有人能给我指路。谢谢。
以下是将 blob 数据类型显示为 PDF 的代码($filepath 来自 blob):
<?php
ini_set('session.save_path', '../tmp');
session_start();
$req_id = "";
$refno = "";
$req_status = "";
if(isset($_SESSION['AUTHORISATION']))
{
include '../conn.php';
if($_SESSION['AUTHORISATION'] != "ACCESS GRANTED")
{
echo "<script type='text/javascript'>alert('Please login to continue..');window.location.href='../login';</script>";
}
else
{
if((isset($_POST['request_id'])) && (isset($_POST['req_refno'])) && (isset($_POST['file_no'])))
{
$req_id = $_POST['request_id'];
//echo $req_id;
$refno = $_POST['req_refno'];
//echo $refno ;
$req_status = $_POST['file_no'];
//echo $req_status ;
if($req_status == 1){
// echo $req_id;
// echo $req_title;
$result = mysqli_query($conn, "Select * from attachment where req_refno = '$refno' and type = 'Summary File';");
while($row= mysqli_fetch_array($result)){
//get row from table selected
$filename = $row['req_attachment_name'];
//echo $filename;
$filepath = $row['req_attachment_path'];
//echo $filepath;
//save pdf to computer
header("Content-Type: application/pdf");
header("Content-Length: ".strlen($filepath));
header('Content-Disposition: attachment; filename='.$filename);
echo $filepath;
}
}
else
{
echo "<script type='text/javascript'>alert('Problem to open file!');window.location.href='pending';</script>";
}
}
else
{
echo "<script type='text/javascript'>alert('Please select a record first!');window.location.href='pending';</script>";
}
}
}
else
{
echo "<script type='text/javascript'>alert('Please login to continue..');window.location.href='../login';</script>";
}
?>
【问题讨论】: