Associate files with Eloquent models
Laravel Media Library adalah package yang dikembangkan oleh Spatie untuk mengelola file media dalam aplikasi Laravel. Package ini menyediakan cara yang elegan untuk mengunggah dan mengelola file, menghasilkan berbagai versi gambar, dan mengoptimalkan media untuk web.
composer require spatie/laravel-medialibrary
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="media-library-config"
php artisan migrate
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Post extends Model implements HasMedia
{
use InteractsWithMedia;
}$post = Post::find(1);
$post->addMedia($request->file('image'))
->toMediaCollection('images');// Mendapatkan semua media dari collection
$media = $post->getMedia('images');
// Mendapatkan URL media pertama
$url = $post->getFirstMediaUrl('images');use Spatie\MediaLibrary\MediaCollections\Models\Media;
class Post extends Model implements HasMedia
{
use InteractsWithMedia;
public function registerMediaConversions(Media $media = null): void
{
$this->addMediaConversion('thumb')
->width(100)
->height(100);
$this->addMediaConversion('optimized')
->width(800)
->height(600)
->optimize();
}
}Laravel Media Library menyediakan solusi lengkap untuk pengelolaan media dalam aplikasi Laravel. Dengan fitur-fitur seperti konversi otomatis, responsive images, dan API yang powerful, package ini sangat membantu dalam implementasi pengelolaan media yang robust. Pastikan untuk memahami kebutuhan aplikasi Anda dan mengoptimalkan penggunaan package sesuai dengan use case yang ada.