Voyager uses Laravel's filesystem to store media files, to access these files on the browser you need to create a shortcut folder in the public directory that points to the storage folder of your app, You can do that  easily with artisan using this command 

    php artisan storage:link 

But if your app is on shared hosting you probably don't have access to a CLI so as a workaround you need to create a symlink.php in your public directory that contains this script


    symlink('/path_to_public_directory', '/path_to_storage_directory');

Then open this file on the browser, this will automatically create a shortcut folder that points to the storage folder.

But even after doing this, you will still see a warning on your Voyager dashboard saying that: Missing storage symlink. 

To fix that you need to change the root path of the public disk in config/filesystems.php

    'public' => [
        'driver'        => 'local',
        'root'          => public_path('storage'),
        'visibility'    => 'public',

Now Voyager can access the media files without any problems.