Как я могу отобразить изображение в Laravel 5.3, используя * BLOB?

Для начала хотелось бы узнать, как отправить изображение с моего общая папка, У меня есть колонка image типа MEDIUMBLOB в моей таблице по имени фильмы. я использую mysql_* как моя связь с базой данных.

Это мое нынешнее семя:

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

1

Решение

Если вы пытаетесь ввести данные изображения в свой MySQL В таблице используйте следующую структуру кода:

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

(Я не использую Laravelили тип соединения, который вы используете, это просто способ вставить *BLOB данные в базу данных.

Основная функция, чтобы убрать это file_get_contents( IMAGE_LOCATION ), который получит необработанные данные изображения и использует их в качестве большого двоичного объекта, и если вы хотите извлечь его из базы данных, вам просто нужно упаковать его в правильный mime, например так:

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

Это преобразование данных в DATAURIо котором вы можете прочитать Вот как быстро читаемая статья.

Надеюсь это поможет!

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]