van-ons/laravel-attachment-library
Attach files to Laravel Eloquent models with a simple HasAttachments trait and Attachment model. Includes installer command for migrations/assets and an attachments relationship to link existing uploads to any model.
By default, this package provides additional metadata for image files using Gd or Imagick. The Gd adapter is preconfigured, but the Imagick adapter could be dropped in if the configuration on the server allows it.
Change the metadata_retrievers content in the attachment-library.php configuration file, to make changes to which
metadata provider classes are used.
In the following example, you can see how to implement a new metadata provider:
<?php
namespace App\Adapters\FileMetadata;
use VanOns\LaravelAttachmentLibrary\Adapters\FileMetadata\MetadataAdapter;
use VanOns\LaravelAttachmentLibrary\DataTransferObjects\FileMetadata;
class ExampleMetadataProvider extends MetadataAdapter
{
protected function retrieve(string $path): FileMetadata|bool
{
return new FileMetadata();
}
}
Make sure to change the configuration to activate the metadata provider class:
// config/attachment-library.php
<?php
return [
// ...
'metadata_retrievers' => [
// ...
\App\Adapters\FileMetadata\ExampleMetadataProvider::class => ['image/*'],
],
// ...
];
How can I help you explore Laravel packages today?