2017-12-11 72 views
0

SQLデータベース(BLOB)に50個の画像が格納されています。どのように私はそれを選択し、ビューで画像として表示することができます。Laravelを使用してPHPでBLOBファイルを選択する方法

私は私がDBクエリを返すとき、私はイメージのために非常に長い文字列を取得し、この

Route::get('/', function() { 

    $pics = DB::table('Employees')->get(); 
    return $pics; //just to test if i get something return from the db 
    //return view('welcome', compact("pics")); 

}); 

のようなものを試してみました。私は私の見解でbase64_encodeでこのような何かを試してみました

FFD8FFE1001845786966000049492A00080000000000000000000000FFEC00114475636B7900010004000000500000FFE1031D687.... 

@foreach ($pics as $pic) 

     <img src="base64_encode({{ $pic->image }})" /> 

    @endforeach 

が、残念ながら、これは動作していないと私はそれをエンコードする方法を知っているとimgのパスとしてそれを返しません。属性src

+1

イメージを保存する方法をコードで表示できますか? – Ben

答えて

0

16進値を文字列に変換してから、文字列をbase64でエンコードする必要があります。

は、文字列に進値を変換するには:

$string = pack('H*', 'FFD8FFE1001845786966000049492A00080000000000000000000000FFEC00114475636B7900010004000000500000FFE1031D687'); 

は、その後、あなたは画像を表示するData URI schemaを使用することができますbase64で

$string = base64_encode($string); 

で文字列をエンコードします。 file signaturesのベースで、指定した16進数の文字列はjpg imageです。それに応じてMIMEタイプも変更する必要があります。

<img src="data:image/jpg;base64,<?=$string?>" /> 
関連する問題