Downloading a single file
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\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\Models\Media;
class DownloadMediaController
{
public function show(Media $mediaItem)
{
return response()->download($mediaItem->getPath(), $mediaItem->file_name);
}
}