0

SQL データベースに blob としてエンコードされた base64 の画像があります。

PHPスクリプトを使用して、ブラウザで画像を適切に表示できます。

echo '<img src="data:image/jpeg;base64,' . $fetch_row['object']. '" />';

ただし、写真を直接表示するビューを作成するか、php ファイルにアクセスして列に写真を返すビューを作成したいと考えています。私は次のようなものを使ってみました:mysqlで

concat('<img src="data:image/jpeg;base64,',`object`,'" />')
or concat('<img src=/image.php? blah blah blah)

何か案は?

4

1 に答える 1

1
<?php

header('Content-type: image/jpeg');
echo base64_decode($fetch_row['object']);

あなたの質問は、データベースに画像を保存することが悪い考えである理由を正確に表しています。画像がサーバーのドライブ上の単なるファイルである場合は、

<img src="/path/to/file.jpg" />

DB/PHP レイヤーをまったく関与させる必要はありません。現在のところ、あなたの data-uri バージョンはブラウザがその画像をキャッシュすることをまったく妨げており、ユーザーに毎回その画像をダウンロードさせ、彼らの (そしてあなたの) 帯域幅を使い果たすことになります。

于 2013-09-06T18:38:12.663 に答える