Как я могу отобразить PDF-файл из типа данных BLOB-объектов из базы данных? - PullRequest
1 голос
/ 24 октября 2019

Пожалуйста, помогите мне.

Я пытался сохранить файл PDF, который был преобразован в тип данных BLOB-объектов в базе данных, и это было успешно. Но я не знаю, как извлечь (* восстановить успешно) обратно данные и снова отобразить их в виде файла PDF. Я перепробовал все, что нашел в интернет-источнике, но ничего из этого не получилось. Часть интернет-кода, который я пробовал, может позволить сохранить файл PDF, декодированный из BLOB-объекта, но файл будет поврежден.

Надеюсь, кто-нибудь может показать мне путь. Спасибо.

Ниже приведен код для отображения типа данных 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>";
}

?>

1 Ответ

0 голосов
/ 30 октября 2019

Является ли $filepath = $row['req_attachment_path']; действительно содержимым / данными PDF-файла? req_attachment_path представляется только путем, а не содержимым. Арендуйте это и проверьте ответ на запрос. В браузере вы можете увидеть ответ в консоли разработчика, и там вы можете увидеть, является ли результат содержимым PDF или просто путем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...