Laravel/Nova
Advanced Media Library(미디어 라이브러리)
짱구를왜말려?
2020. 10. 15. 20:51
반응형
SMALL
- media library 설치
composer require "spatie/laravel-medialibrary:^8.0.0"
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan migrate
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="config"
composer require league/flysystem-aws-s3-v3 ^v1.0
// laravel8이라면 composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
composer require aws/aws-sdk-php
@ filesystems.php
's3' => [
...,
"visibility" => "public"
],
@ media-library.php(max_file_size 올리기, disk_name s3로 변경)
'disk_name' => env('MEDIA_DISK', 's3'),
/*
* The maximum file size of an item in bytes.
* Adding a larger file will result in an exception.
*/
'max_file_size' => 1024 * 1024 * 1024 * 30,
- env s3 세팅
- 모델 세팅
class Banner extends Model implements HasMedia
{
use HasFactory, InteractsWithMedia;
public function registerMediaCollections(): void
{
$this->addMediaCollection("images");
}
}
- 패키지 설치
novapackages.com/packages/ebess/advanced-nova-media-library
Advanced Nova Media Library
A Laravel Nova field for displaying, creating, updating and ordering a Spatie Media Library model.
novapackages.com
return [
Images::make('Main image', 'main') // second parameter is the media collection name
->conversionOnIndexView('thumb') // conversion used to display the image
->rules('required'), // validation rules
];
LIST