laravel-medialibrary is probably one of our most powerful packages. It can associate files with Eloquent models. It can also generate derived images such as thumbnails. It has a very developer-friendly API to work with. Here's a quick example:


Want to store some large files on another filesystem? No problem:

$yourModel->addMedia($bigFile)->toMediaCollection('downloads', 's3');

Because the package can do so much, the docs have grown quite large. If you're a visual learner, you'll be happy to know that I've made a video that shows what the medialibrary is capable of.