【问题标题】:How to display blob as image from oracle using PHP如何使用 PHP 将 blob 显示为来自 oracle 的图像
【发布时间】:2020-10-15 01:17:00
【问题描述】:

我正在尝试使用 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 截断了 blobs 输出。我纠正了它插入这一行。

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

【问题讨论】:

  • 那么你会得到什么结果呢?
  • 附言。你确定你的意思是adodb?你的代码是 odbc。
  • 我得到一个损坏的 base64 字符串,所以图像显示为损坏。它是 ADOdb,来自adodb.sourceforge.net。我没有选择库,项目中已经存在

标签: php oracle image blob adodb


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-06-12
    • 2013-12-28
    • 1970-01-01
    • 2013-12-31
    • 2014-03-19
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多