This is the documentation for
v8 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
Media
implements the Responsable
interface. This means that you can just return a media object to download the associated file in your browser.
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class DownloadMediaController
{
public function show(Media $mediaItem)
{
return $mediaItem;
}
}
If you need more control you could also do the above more verbose:
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class DownloadMediaController
{
public function show(Media $mediaItem)
{
return response()->download($mediaItem->getPath(), $mediaItem->file_name);
}
}