download(Storage::disk($disk)->path($filename)); //works for PRIVATE or public?! case 's3': return redirect()->away(Storage::disk($disk)->temporaryUrl($filename, now()->addMinutes(5))); //works for private or public, I guess? default: return Storage::disk($disk)->download($filename); } } }