首页 > 解决方案 > 保存为 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());
				});

保存在表中,我将它放在一个数组中并沿着其他字段保存在表中 在此处输入图像描述

像这样保存在数据库中现在我想通过使用它在表格行中显示图像

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

它给出了错误

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

我想显示图像并允许下载它


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

在此处输入图像描述

标签: phphtmlmysql

解决方案


看来您正在使用数据库连接的 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;etc


小费

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


推荐阅读