0

我需要检索保存在 db400 表的 blob 字段中的一些图像。我正在尝试使用 PHP ODBC 库,这是示例代码:

    //connect to database 
    if(!$conn = odbc_connect($DNS, $user, $password)){
        exit("Error");
    }

    $sql = "SELECT TSMIME, TSIMG 
            FROM SVMAGDAT.DFW3S00F 
            WHERE TSIDMO=17 and TSPRMO=0";
    $result = odbc_exec($conn, $sql);

    $type=$lob="";
    if ($result) {                            
        odbc_longreadlen($result, 5242880);//5MB      
        odbc_binmode($result,ODBC_BINMODE_CONVERT);

        $type = odbc_result($result, "TSMIME");
        $lob = odbc_result($result, "TSIMG");
    }

    echo "<img src=\"data:$type;base64,$lob\" >";  

图像使用 base64 编码保存,通过他的查询我只得到一行。我尝试更改 odbc_longreadlen 和 odbc_binmode 没有结果。

使用此配置 $lob 变量为空,而 $type 已正确设置。

如果我将 odbc_binmode 设置为 ODBC_BINMODE_PASSTHRU 我看不到任何结果,因为浏览器每次都会崩溃。

有什么建议吗?

谢谢

4

0 回答 0