This issue comes when a Laravel project is moved/copied to some other folder.
Concretely, you facing this kind of issue when your website has been moved to another with the copy of the symbolic link /public/storage (which should not be copied from one server to another, referring to the UNIX or DOS architecture).
Also in some cases, the zip compressing convert the /public/storage (symlink) to a real folder instead of a symlink.
To solve the issue, you have to delete the symbolic link (or folder): /public/storage (generated elsewhere than on your current server, whose path is no longer valid for your current server).
This symbolic link will be re-generated automatically by the script.
In case of restriction on your server, please check out this page for more information:
https://support.bedigit.com/hc/articles/71/images-dont-appear-in-my-website
Happy fixing!