¡Bienvenido a Foros Hosting ...!

Aquí encontraras una experiencia comunitaria para aprender todo lo relacionado con hosting.

Encuentra soporte en español para: Web Hosting, Servidores Dedicados, Servidores VPS, Clouds, Seguridad, Programación y muchos más.

Obtén más experiencia como Administrador de Sistemas, Crea tu propia empresa de hosting. Comparte tus conocimientos de forma libre.

¡Regístrate ahora y forma parte de nuestra comunidad!

Acceso a la carpeta storage desde javascript - Angular

Darcos3

Usuario Nuevo
10/19/19
1
1
1
Premios
1
  • Bienvenid@!
Seguidores
0
Buenas tardes

Hace un tiempo he estado creando un proyecto back-end y front-end para administrar un punto de venta. El back-end lo he desarrollado con laravel 5.4 y para el front-end implemente el framework de angular 8, con el cual llamo los productos y demas información en conjunto la base de datos MySQL. El problema surge cuando quiero obtener las imágenes subidas tanto a la base de datos, como también a la carpeta storage de laravel, no se muestran en el proyecto de angular; parece como que hubiera una restricción desde el back-end(Laravel) que no permita acceder a esa ruta.

Adjunto unas imágenes del desarrollo. He probado en los principales navegadores (Chrome, Firefox, Opera).

Gracias, por colaborar.
 

Adjuntos

SOSkr

Usuario Nuevo
10/15/19
3
2
3
Premios
2
  • Le gustas a alguien!
  • Bienvenid@!
Seguidores
0
Cuando tienes imágenes guardadas en base de datos, lo mejor que puedes hacer es crear una ruta/controlador que genere la imagen y es la ruta que vas a colocar en en html/js, también es posible crear la imagen directamente en angular, pero creo que es mucho mas difícil y trabajoso, es mas fácil una ruta del siguiente estilo

/images/{imagen_type}/{imagen_slug}

donde

imagen_type se refiere a si es una imagen de producto, perfil, articulo, etc
imagen_slug un nombre único por imagen, también puede ser el ID si prefieres

el resto seria hacer el controlador, para manejo de imágenes en laravel te sugiero el package
Por favor, Acceder o Registro para ver las URLs y el contenido!
 

aleoreina

Administradores
10/9/19
8
8
3
Premios
1
  • Le gustas a alguien!
Seguidores
0
Si tu estas ofreciendo que tu javascript acceda directamente a una imagen indiferentemente de que framework o lo que sea que estes haciendo con javascript. En tu caso AngularJS. En realidad lo que debe importarte es que El navegador es el encargado de realizas las peticiones a dichas urls.

Entonces, Lo primero que debes asegurarte es que tu al momento de ofrecer esas url debes asegurarte que puedas acceder manualmente a ellas. Digamos que domain.com/miimage.jpg si no puedes acceder, quiere decir que tus rutas en tu framework en realidad no saben realmente la ubicacion de dichos archivos. Entonces, debes configurar ese framework para que puedas acceder a esas imagenes previamente ya cargadas en tus carpetas del projecto laravel. Ahora bien. No cabe duda que Laravel por supeusto siempre te va a denegar el acceso a esas urls porque tu no las has predefinidos. En el caso de otros frameworks, mayomente la practica que se hace es que tu puedas establecer una carpeta donde tu puedas almacenar esas imagenes y que debido a configuracion que tu hagas para que reconozca las rutas para esas imagenes. Entonces parcilamente puedas mostrarla.

Para buen practica, asegurate siempre de antes de mandar a que el navegador o el javascript despligue ciertas imagenes. Pues, revisa que manualmente puedas acceder a ellas. suponiendo que tienes 2 millones de imagenes, con asegurate de que una sola funcione ya las demas quedan.

Entonces, por favor mejora esa practica y asegurate de hacer chequeos manuales de todas formas estas son cosas que nos puede pasar a cualquiera. asi que no te preocupes.
 

SOSkr

Usuario Nuevo
10/15/19
3
2
3
Premios
2
  • Le gustas a alguien!
  • Bienvenid@!
Seguidores
0
Hay que tener en cuenta que sin importar que lenguaje, framework o sistema de almacenamiento (carpetas o base de datos) se maneje lo mejor es nunca colocar las rutas de las imágenes, sobre todo si el usuario es quien las carga/guarda es por eso que recomiendo mejor crear un controlador que genere la imagen.

En el caso de Laravel, el framework dispone de una carpeta publica (public), que debería ser la que se use en caso tal de que quieras guardar las imágenes, pero de nuevo, no lo recomiendo.
 
Arriba Pie