Use Storage facade for you local filesystem and first:
Get all the files within that directory:
$files = Storage::allFiles($directory);
Then download one by one:
return Storage::download('file.jpg');
I can not see how you could download all of them at once since for browser to download a file it needs to get it as a response. Maybe you could zip the directory first?