Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php BLOB中的TMP与PDF_Php_Html_Mysql_Forms_Pdo - Fatal编程技术网

Php BLOB中的TMP与PDF

Php BLOB中的TMP与PDF,php,html,mysql,forms,pdo,Php,Html,Mysql,Forms,Pdo,我有一个html表单,它将文件作为blob插入mysql数据库。对于图像来说,它的工作相当顺利,但对于PDF来说,这是一个挑战。下面是我使用的函数 public function insertBlob($filePath, $mime) { $blob = fopen($filePath, 'rb'); $sql = "INSERT INTO files(mime,data) VALUES(:mime,:data)"; $stmt = $this

我有一个html表单,它将文件作为blob插入mysql数据库。对于图像来说,它的工作相当顺利,但对于PDF来说,这是一个挑战。下面是我使用的函数

public function insertBlob($filePath, $mime) {
        $blob = fopen($filePath, 'rb');

        $sql = "INSERT INTO files(mime,data) VALUES(:mime,:data)";
        $stmt = $this->pdo->prepare($sql);

        $stmt->bindParam(':mime', $mime);
        $stmt->bindParam(':data', $blob, PDO::PARAM_LOB);

        return $stmt->execute();
    }
现在,当我通过提供本地完整路径(如

$blobObj->insertBlob(“C:\Users\User\Downloads\WEST.pdf”、“application/pdf”),,
pdf文件可以在chrome浏览器中调回并查看。但是,当我提供从$FILES['myfile'][tmp_name]获取的tmp路径时,该文件如下

if(isset($_POST["save"])){
    $blob= $_FILES["attachment"]["tmp_name"];
    $type = $_FILES["attachment"]["type"];
    var_dump($_FILES);
    // test insert object
    $blobObj->insertBlob($blob, $type);

}

上传的pdf无法在chrome中提取和渲染,chrome表示不支持文件。我错过了什么?非常感谢您的帮助

如果您的数据是Blob,您需要使用base64_encode()对数据进行编码

使用此选项可显示您的内容

<object data="data:application/pdf;base64,<?php echo base64_encode(data) ?>" type="application/pdf" 
  style="height:200px;width:60%"></object>

如果数据是Blob,则需要使用base64_encode()对数据进行编码

使用此选项可显示您的内容

<object data="data:application/pdf;base64,<?php echo base64_encode(data) ?>" type="application/pdf" 
  style="height:200px;width:60%"></object>

非常感谢,我正在寻找类似的东西,我希望我能用它来下载文件,非常感谢,我正在寻找类似的东西,我希望我能用它来下载文件,非常感谢