保存为blob的图像不显示

af7jpaap  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(914)


我遵循了这些例子
来自mysql的php显示图像blob
如何显示存储在mysql数据库中的blob图像?
以同样的方式显示保存为blob的图像。我有域名图片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());
				});

为了保存在表中,我把它放在一个数组中,然后和其他字段一起保存在表中

像这样保存在db中现在我想用这个在表行中显示图像

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

它给出了
无法将stdclass类型的对象用作中的数组
我想显示图像以及允许下载它
在实现了@hassaan的答案之后,我得到了以下输出。

41zrol4v

41zrol4v1#

看来你是在用面向对象的方法连接数据库。我希望下面能解决这个问题。
代替

$row['Picture_File']

进入之内

$row->Picture_File

全行代码

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

注:
请确保更改附近的mime类型 image/png; 到各自的。例如,如果jpg然后变成 image/jpeg;
提示
在将图像作为blob保存到数据库中时,可能还需要存储mime类型。

相关问题