doushuzd3033 2018-05-31 20:30
浏览 1596
已采纳

保存为blob的图像不显示

enter image description hereI have followed these examples

Have same way of displaying image saved as blob. I have field name picture longblob

if ( ! $(this).prev().hasClass('input-ghost') ) {
                var element = $("<input type='file' class='input-ghost' style='visibility:hidden; height:0'>");
                element.attr("name",$(this).attr("name"));
                element.change(function(){
                    element.next(element).find('input').val((element.val()).split('\\').pop());
                });

to save in table i put it in an array and save in table along other fields enter image description here

saved in db like this now i want to display image in table row it in table row by using this

<td> echo '<img src="data:image/png;base64,' .base64_encode( $row['Picture_File'] ). '" />';?></td>

It gives error of

Cannot use object of type stdClass as array in

I want to display image as well as allow to download it


After implementing @Hassaan's answer I got the following output.

enter image description here

</div>
  • 写回答

1条回答 默认 最新

  • dongqiao9583 2018-05-31 20:32
    关注

    It seems to be you are using OOP method of Database connection. I hope the following will resolve the issue.

    Replace

    $row['Picture_File']
    

    into

    $row->Picture_File
    

    Full line of code

    echo '<img src="data:image/png;base64,'.base64_encode($row->Picture_File).'">';
    

    NOTE:

    Make sure to change mime type near image/png; to respective. For example if jpg then change into image/jpeg; etc


    Tip

    While save image as blob into database, you may need to store mime type too.

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

报告相同问题?