繁体   English   中英

如何使用 PHP 将 Blob 显示为来自 oracle 的图像

[英]How to display blob as image from oracle using PHP

我正在尝试使用 PHP 在 oracle 中显示存储为 blob 的图像。 我正在使用 adodb 库。

代码如下:

<?php
$db=conGenedesa();
    $query ="SELECT * FROM 'TABLE' p WHERE p.ID = $id";
    $result = odbc_exec($db, $query);

    $name;
    $dni;
    $jobID;
    $base;
    while(odbc_fetch_row($result)){
        $name = odbc_result($result, 'PER_APELLIDO_PATERNO') . ' ' . odbc_result($result, 'PER_APELLIDO_MATERNO') . ' ' . odbc_result($result, 'PER_NOMBRES');
        $dni = $rut . '-' . odbc_result($result, 'PER_RUT_DV');
        $jobID = odbc_result($result, 'PER_CAR_CODIGO');
        $base = odbc_result($result, 'PER_MOVIL_IMG');
    }

    $src;
    if($base == null){
        echo 'null';
    }
    else{
        $src='data:image/jpeg;base64,'.base64_encode($base);
    }
?>
<img src="<?php echo $src; ?>" />

我知道图像没有损坏,因为我可以从另一个使用 dotnet 的应用程序中看到它。

更新:

最后,PHP 截断了 Blob output。 我纠正了它插入这一行。

ini_set('odbc.defaultlrl', '10M');

虽然它适用于 OCI8 而不是 ADOdb,但The Underground PHP 和 Oracle 手册第 236 页上的“上传和显示图像”部分可能有一些有用的线索。

由于您似乎已经正确获取了数据,因此您的问题并不是真正的 Oracle 问题,因此可以使用大量其他资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM