Polyscope - The agent-first dev environment for Laravel

Laravel Medialibrary

spatie/laravel-medialibrary image

Laravel Medialibrary stats

Downloads
15.4M
Stars
5,428
Open Issues
12
Forks
1,025

View on GitHub →

Associate files with Eloquent models

Laravel Media Library Package Summary

The Spatie Laravel Media Library package provides a robust way to associate files with Eloquent models in Laravel applications. It simplifies the management of media files by offering a fluent, intuitive API to handle file uploads, storage, and manipulation seamlessly.

Key Features

  • Easy File Association: Quickly associate files with Eloquent models using simple API methods.
  • Flexible File Handling: Directly handle file uploads from user inputs.
  • Multiple Storage Options: Supports different storage systems per collection, allowing you to store files locally or on external services like Amazon S3.
  • Image Manipulations: Automatic image and PDF manipulation when files are added to the media library, leveraging Laravel's Filesystem features.
  • Extensive Documentation: Detailed user guides and examples are available, making it easy to integrate and use the package in your projects.

Installation

Installation can be done via Composer:

composer require spatie/laravel-medialibrary

Refer to the official documentation for detailed installation and setup instructions.

Usage Examples

Associate a file with a model:

$newsItem = News::find(1);
$newsItem->addMedia($pathToFile)->toMediaCollection('images');

Handle file uploads directly from a request:

$newsItem->addMedia($request->file('image'))->toMediaCollection('images');

Store large files in different storage systems:

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

Additional Resources

  • Testing: Information on running tests using Pest and Github Actions is provided.
  • Contributing: Guidelines for contributing to the package are available.
  • Security: Instructions for reporting security vulnerabilities.

Support and Community

Spatie, the creator of this package, welcomes support via sponsorships and appreciates feedback and contributions to their open source work. Users are encouraged to send postcards as a unique way of saying thanks!

Conclusion

The Laravel Media Library package by Spatie is an essential tool for developers looking to efficiently manage media files in their Laravel applications. With its comprehensive features and supportive documentation, it ensures a smoother development experience and enhances the capabilities of Laravel projects.

For more details and to explore the full capabilities of the package, visit the official documentation.

spatie photo

We create open source, digital products and courses for the developer community

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Spatie Laravel Medialibrary Related Articles

Laravel Cyber Deals image

Laravel Cyber Deals

Read article
Laravel Black Friday Deals image

Laravel Black Friday Deals

Read article
Learn how to upload files in Laravel like a Pro image

Learn how to upload files in Laravel like a Pro

Read article
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
CodeKudu logo

CodeKudu

Stand-ups, Retrospectives, and 360° Feedback for the entire team. 50% off with code LARAVELNEWS.

CodeKudu
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic