O pacote spatie/laravel-medialibrary é uma ferramenta poderosa para associar arquivos a modelos Eloquent em aplicações Laravel. Ele fornece uma API simples e fluente para trabalhar com arquivos de mídia, permitindo adicionar, gerenciar e recuperar facilmente arquivos associados aos seus modelos.
Aqui estão os principais recursos do pacote:
- Associe todos os tipos de arquivos aos modelos do Eloquent, incluindo imagens, vídeos, PDFs e muito mais [1][2][3].
- Adicione facilmente arquivos de mídia diretamente de uploads de usuários ou caminhos de arquivo [1][2][3].
- Armazene arquivos em diferentes sistemas de arquivos, como armazenamento local ou armazenamento em nuvem como S3 [1][2][3].
- Gere automaticamente imagens derivadas, como miniaturas de imagens, vídeos e PDFs [3].
- Fornece uma API simples para acessar e baixar arquivos de mídia associados [4].
- Inclui uma versão Pro com componentes Blade, Vue e React para lidar com uploads e administração de mídia [1].
O pacote requer PHP 8.2+ e Laravel 10+, e também requer a extensão exif. Requisitos adicionais como GD, Imagick, Ghostscript e ffmpeg podem ser necessários dependendo dos tipos de mídia com os quais você deseja trabalhar [5].
Para começar, você pode instalar o pacote via Composer e seguir a extensa documentação fornecida pelo Spatie para integrá-lo em sua aplicação Laravel [1][2][3].
Citações:[1] https://spatie.be/docs/laravel-medialibrary/v11/handling-uploads-with-media-library-pro/installation
[2] https://github.com/spatie/laravel-medialibrary
[3] https://spatie.be/docs/laravel-medialibrary/v11/introduction
[4] https://spatie.be/docs/laravel-medialibrary/v11/downloading-media/downloading-a-single-file
[5] https://spatie.be/docs/laravel-medialibrary/v11/requirements