Carregar e manipular arquivo e imagem em Laravel

Definir campo de upload no formulário

Em primeiro lugar, adicione um <input type="file"> campo ao formulário HTML para permitir que os usuários selecionem um arquivo ou imagem para upload.

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

Processar a solicitação de upload

Em um Laravel controlador, você pode manipular a solicitação de upload em um método. Use o Illuminate\Http\Request objeto para acessar o arquivo carregado e executar as operações de manuseio necessárias.

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

Armazene o arquivo

Laravel fornece um store método para armazenar o arquivo carregado. Basta chamar esse método no objeto de arquivo e fornecer o caminho de armazenamento desejado.

$path = $file->store('uploads');

 

Manuseie a imagem

Se precisar lidar com uma imagem, como redimensionar, recortar ou aplicar filtros, você pode usar uma biblioteca de processamento de imagem como Intervention Image. Primeiro, instale o pacote Intervention Image via Composer:

composer require intervention/image

Em seguida, você pode usar os métodos da biblioteca para processar a imagem.

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

Exibir o arquivo e a imagem carregados

Por fim, você pode exibir o arquivo e a imagem carregados na interface do usuário. Use Laravel os métodos auxiliares de para gerar URLs públicos para o arquivo e a imagem armazenados e use-os em HTML ou CSS.

$url = asset('storage/'. $path);

 

Você pode usar a $url variável em HTML ou CSS para exibir o arquivo ou imagem carregado.

 

Seguindo estas etapas e utilizando Laravel os recursos integrados do, você pode facilmente carregar e manipular arquivos e imagens em seu Laravel aplicativo.