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.