【问题标题】:How can I display an image in Laravel 5.3 using *BLOB?如何使用 *BLOB 在 Laravel 5.3 中显示图像?
【发布时间】:2017-01-06 02:51:54
【问题描述】:

首先,我想知道如何从我的 公共文件夹 发送图像,我的表中有一个类型为 MEDIUMBLOB 的列 image,名为 movies。我使用mysql_* 作为我的数据库连接。

这是我目前的种子:

public function(){
    DB::table('movies')->insert([
            'name' => 'La vida es bella',
            'score' => '0',
            'date' => '1999-2-26',
            'image' => ??????????               
    ]);
}

【问题讨论】:

标签: php image file laravel-5 seed


【解决方案1】:

如果您尝试将图像数据输入到您的MySQL 表中,请使用以下代码结构:

DB::table('movies')->insert([
  'image' => file_get_contents( "public/images/image.jpg" )
]);

(我不使用Laravel,或者您使用的连接类型,这只是您将*BLOB 数据插入数据库的方式。

主要功能是file_get_contents( IMAGE_LOCATION ),它将获取原始图像数据并将其用作blob,如果您想从数据库中提取它,您只需将其打包到正确的哑剧,像这样:

$blob = ''; //from database
echo '<img src="data:image/jpeg;base64,'.base64_encode( $blob ).'"/>';

这是将数据转换为DATAURI,您可以阅读有关here 的快速阅读文章。

希望这会有所帮助!

【讨论】:

  • 很高兴它为你工作@nestorjodar 并且这么老的帖子有所帮助,我记得回写这个答案 - 我自己无法让它工作(我是 PHP 的新手时间),我对我的问题实际上很有价值印象深刻。哈哈?
【解决方案2】:
echo '<img src="data:image/jpeg;base64,'.chunk_split(base64_encode(file_get_contents($_FILES['userImage']['tmp_name']))).'"/>';

试试这个对我有用的代码,这是为了直接查看提交的 blob 文件,

如果要显示存储在 DB 中的 blob 图像,则创建一个链接,返回保存在 DB 中的 blob,然后在图像的 src 中提供该链接

喜欢这个

<img src="{{url('url_returning_blob_data_from_db')}}" />

【讨论】:

    猜你喜欢
    • 2018-07-31
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多