LaravelPackages.net
Acme Inc.
Toggle sidebar
moirei/media-library

Manage media library with a directory system and associate files with Eloquent models.

505
0
0.2.0
About moirei/media-library

moirei/media-library is a Laravel package for manage media library with a directory system and associate files with eloquent models.. It currently has 0 GitHub stars and 505 downloads on Packagist (latest version 0.2.0). Install it with composer require moirei/media-library. Discover more Laravel packages by moirei or browse all Laravel packages to compare alternatives.

Last updated

Laravel Media Library

Laravel application media content management made easy.

Documentation

All documentation is available at the documentation site.

:green_heart: Features

  • Image URL manipulation: manipulate uploaded images with Cloud Image compatible API for your responsive frontend
  • Eloquent models: associate files with Eloquent models. Attach different file types (video, images) to different model attributes with polymorphic many-to-many while having the ability to fully configure model-specific uploads.
  • Secure: public, signed, and protected endpoints and file sharing and downloads regardless of storage disk. Includes configurable middleware per API endpoints for fine-grained permissions and authorization
  • File sharing: securely share files a directories with anyone. Including none registered users.
  • Uploads: upload by external URL, local path, File or request UploadFile. The package exposes internal API endpoints for uploads, downloads, streams and other admin operations
  • Control: control uploads and shared files by types, size, size per type
  • Responsive images: automatically resize images on uploads for responsive frontend
  • Storage system: provides media storage namespacing for multi-tenant and multi-domain uploads with varying configurations.
  • Rich text attachments: seamlessly management attachments and integrate model text fields
...
use MOIREI\MediaLibrary\Casts\AsMediaItem;
use MOIREI\MediaLibrary\Casts\AsMediaItems;
use MOIREI\MediaLibrary\Traits\InteractsWithMedia;

class Product extends Model
{
   use InteractsWithMedia;

   $casts = [
      'image' => AsMediaItem::class,
      'gallery' => AsMediaItems::class,
   ];
   ...
}
...

$video = File::find('video-file-id');

$product = Product::create([
   'name' => 'MOIREI MP202+',
   'image' => 'image-file-id1',
   'gallery' => ['image-file-id2', $video],
]);

Installation

composer require moirei/media-library

Publish the config

php artisan vendor:publish --tag=media-library-config

Prepare the database

php artisan vendor:publish --tag=media-library-migrations

Then run the migrations

php artisan migrate

Changelog

Please see CHANGELOG.

Credits

License

The MIT License (MIT). Please see License File for more information.

Star History Chart