保存为blob的图像不显示

时间:2018-05-31 20:30:17

标签: php html mysql

enter image description here我已经按照这些例子进行了

以同样的方式显示保存为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());
				});

保存在表中我把它放在一个数组中并保存在其他字段的表中 enter image description here

像这样保存在db中我现在要在表行中显示图像行 使用此

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

它给出错误

  

不能在

中使用stdClass类型的对象作为数组

我想显示图像以及允许下载

在实施@Hassaan的答案后,我得到了以下输出。

enter image description here

1 个答案:

答案 0 :(得分:1)

似乎您正在使用数据库连接的OOP方法。我希望以下内容能解决这个问题。

替换

$row['Picture_File']

$row->Picture_File

全行代码

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

注意

确保将image/png;附近的mime类型更改为相应的。 例如,如果jpg然后变为image/jpeg;

提示

将图像作为blob保存到数据库中时,您可能还需要存储mime类型。