LARAVEL: Como salvar imagem do formulário em binário no banco de dados

Eaí galera, tudo beleza?

Aqui é o Arthur e hoje veremos mais uma dica de LARAVEL!

Vamos a aprender a armazenar uma imagem do formulário em binário no banco de dados através de uma biblioteca PHP de manipulação de imagens chamada Intervention Image!

1. Adicione a biblioteca através do composer:

composer require intervention/image

2. Vá até seu arquivo config/app.php, e adicione a seguinte linha ao array $providers:

Intervention\Image\ImageServiceProvider::class

3. No mesmo arquivo config/app.php, adicione a seguinte linha ao array $aliases:

'Image' => Intervention\Image\Facades\Image::class

4. Para utilizar a biblioteca, adicione a seguinte linha ao seu controller:

use Intervention\Image\Facades\Image;

4.1 Publique as configurações através do terminal:

php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"

5. No mesmo controller, na função de salvar, verifique se está recebendo um input file do formulário e codifique para png:

if ($request->file(‘IMAGEMFORM’) !== null) {
   $imagem = $request->file(‘IMAGEMFORM’);
   $foto_reduzida = Image::make($imagem->getRealPath())
   ->resize(null, 150, function ($constraint) {
   $constraint->aspectRatio();
   $constraint->upsize();
})

->encode(‘png’);

}

6. Função do controller para salvar a imagem codificada no banco de dados:

if (isset($foto_reduzida)) {
DB::table('nomeTabela')
->where('id', $id)
->update([
'IMAGEM' => $foto_reduzida
]);
}

7. Pronto, agora basta acessar a imagem na sua view. Para fazer isso, adicione o atributo src no elemento img da view e acesse do banco de dados:

src="data:image/png;base64,{{base64_encode($objeto->IMAGEM)}}"

Então é isso, fique ligado para mais dicas!

https://github.com/Intervention/image

  • Publicado por Arthur
  • 89 views
  • 0 comentarios
  • 11 de abril de 2023

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Laravel

Continue aprendendo

Aumente o seu conhecimento
LARAVEL: validação de email ao registrar usuário
23 de abril de 2023
LARAVEL: exibir dados salvos na sessão em uma view blade
6 de abril de 2023
LARAVEL: armazenar dados do formulário em uma sessão
6 de abril de 2023
Laravel: enviar formulário e continuar na mesma página
3 de abril de 2023
Laravel: erro unknown Column ‘updated_at’
3 de abril de 2023