如何在Laravel刀片模板文件中显示Blob图像?

问题描述 投票:0回答:1

我想显示数据库中存储为blob图像的图像。我做以下事情:

echo '<img src="data:image/JPG;base64,'.base64_encode($item->image).'"/>'; ?>

它给了我错误:

无法显示图像,因为它包含错误

这是我上传的方式

$base64 = base64_encode($img);

DB::table('items')->InsertGetId([
        'item'=>$item,
        'des'=>$des,
        'unit_sel'=>$sell,
        'unit'=>$unit,
        'stock'=>$stock,
        'weight'=>$weight,
        'cat'=>$cat,
        'image'=>$base64
    ]);

我用laravel 5.5。我该如何解决这个问题?

php laravel blob laravel-blade
1个回答
0
投票

I already replied in Reddit,但我将总结3点:

  • 您将图像保存到数据库中,除非您知道自己在做什么,并且不关心可伸缩性,资源和性能,否则应该避免这种情况,以便进行严格的图像控制。
  • 你在Blade模板中使用echo而不是双花括号{{ }},这可以允许持久的XSS atacks
  • 您在存储图像时已将图像编码为base64。在视图代码中,您必须使用已经base64编码的字符串,而不是再次编码或解码它。
© www.soinside.com 2019 - 2024. All rights reserved.