Laravel。从SQLSERVER检索图像。数据类型:图片

时间:2018-07-11 13:20:54

标签: sql-server laravel image blob

我正在尝试从SQLServer检索图像并将其显示在浏览器中,但是它不起作用。有人可以帮我吗?

  1. 控制器

    public function viewFamily(){
       $queryPhoto = IDF_FOTO::select('FOT_BLO_IMG_FOTO')->where('ID_PROCESSO', '123456')->get();
       $image = $queryPhoto[0]->FOT_BLO_IMG_FOTO; 
       echo '<img src="data:image/jpeg;base64,' . base64_encode( $image ) .'" height="100" width="100"/>';
       echo '<img src="data:image/jpeg;base64, ' . chunk_split(base64_encode($image)) .'" height="150" width="150"/>';
    
    
       return view("intel.viewFamily", ['queryPhoto'=> $queryPhoto[0]]);    }
    
  2. 浏览器上的结果:
    enter image description here

我非常感谢您为解决此问题提供的帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

我刚刚在另一个主题https://stackoverflow.com/a/47756897/6157142中找到了解决方案。 需要将十六进制转换为字符串,然后通过base64对其进行编码。

$queryPhoto = IDF_FOTO::select('FOT_BLO_IMG_FOTO')->where('ID_PROCESSO', '123456')->get();
    $string = pack('H*', $queryPhoto[0]->FOT_BLO_IMG_FOTO);
    $string = base64_encode($string);
    echo '<img src="data:image/jpg;base64,'.$string.'" />';

对我来说很好。 谢谢。