This is the documentation for
v5 but the latest version is
v10
.
You can switch versions in the menu on the left/at the top.
Check your current version with the following command:
composer show spatie/laravel-medialibrary
You can associate a file with a model like this:
$newsItem = NewsItem::find(1);
$newsItem
->addMedia($pathToFile)
->toMediaCollection();
The file will now be associated with the NewsItem
instance and will be moved to the disk you've configured.
If you want to not move, but copy, the original file you can call preservingOriginal
:
$newsItem
->addMedia($pathToFile)
->preservingOriginal()
->toMediaCollection();
You can also add a remote file to the media library:
$url = 'http://medialibrary.spatie.be/assets/images/mountain.jpg';
$newsItem
->addMediaFromUrl($url)
->toMediaCollection();