dr637349 2013-09-06 18:31
浏览 65
已采纳

显示存储在数据库中的图像

I have images that are base64 encoded as blobs in my sql database.

using a php script I can properly display the picture in my browser using.

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

however, I would like to create a view that would display the photo directly or by accessing the php file and returning the picture in a column. I have tried using something like: in mysql

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

any ideas?

  • 写回答

1条回答 默认 最新

  • dtotuki47568 2013-09-06 18:38
    关注
    <?php
    
    header('Content-type: image/jpeg');
    echo base64_decode($fetch_row['object']);
    

    Your question also exactly typifies why storing images in the database is a BAD idea. If the image was just a file on your server's drive, you could just have

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

    and not have to involve the DB/PHP layer at all. As it stands now, your data-uri version prevents the browser from caching that image at all, and you'll be forcing the user to download that image EVERY time, burning up their (and your) bandwidth.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?