Google`s first result for the term 'laravel storage image show from url' was http://stackoverflow.com/a/30191854/1614842
Which recommends to create a Controller Class, with a dedicated function to access files inside the storage folder, since its not visible to the public.
In your case, you should the following route and function.
Route::get('avatars/{filename}', function ($filename)
{
// im not 100% sure about the $path thingy, you need to fiddle with this one around.
$path = storage_path() . '/' . $filename;
if(!File::exists($path)) abort(404);
$file = File::get($path);
$type = File::mimeType($path);
$response = Response::make($file, 200);
$response->header("Content-Type", $type);
return $response;
});
Now you add a method to the User-Class, to return the avatar url.
public function getAvatarUrl(){
// same thing as above for calling the url. Because $this->avatar will result in /storage/avatar/asduioajsdsd.png So it could lead to stripping some things of the string. Just wanted to give you the general idea.
return url('avatars' . $this->avatar);
}
And call it whenever you need it
{{ Auth::user()->getAvatarUrl() }}
Nontheless you should also have a read here: https://laravel.com/docs/5.3/filesystem#retrieving-files Which suggests to store it in a public folder.