Tengo un proyecto de laravel que alojé en un host compartido. usando el sistema que vi en Laravel Instrucción de implementación
Entonces, se supone que debo cargar una imagen, la imagen del usuario. A la carpeta public_html, pero como no estoy en public_html, los usuarios no pueden cargar su imagen. ya que mi código se encuentra fuera de la carpeta public_html y no permite permiso de escritura para usuarios generales. así que intenté subirlo a la 'carpeta de almacenamiento' (es decir, la carpeta de mi proyecto laravel, que está en el mismo nivel que la carpeta www 'public_html'). Funciona, puedo ver la imagen en la carpeta de almacenamiento pero no puedo acceder porque está detrás de la carpeta public_html. y lo que no se puede señalar. Ejemplo project/storage/app/public es la carpeta que tiene la imagen del usuario si la apunto en <img src="project/storage/app/public/user.png" > no se mostrará porque el navegador busca project/storage/app/public dentro de la carpeta public_html mientras que está fuera de public_html. Entonces, ¿alguien puede tocar esto? Gracias chicos. ¿O se usa htaccess en este caso?
necesita crear un enlace simbólico a su carpeta de almacenamiento.
por favor vea esta respuesta:
Laravel 5: ¿cómo acceder a la imagen cargada en el almacenamiento dentro de View?
el método anterior proporcionado por el enlace funciona sin conexión, sin embargo, no todos los sitios de alojamiento compartido admiten el enlace de sistema Laravel artesanal. así que la mejor y absoluta manera de hacer esto es con la función php symlink() Del MANUAL PHP
así que simplemente agregue este código a su web.php, es decir project\route\web.php
Route::get('/symlink', function() { if(symlink('/home/username/projectfolder/storage/app/public', '/home/username/public_html/storage')){ echo "We rock yea stackoverflow!!!! best programming software";} }); por lo que el nombre de username es el nombre de su directorio de inicio