Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo puedo mostrar una imagen que esta en otra unidad o servidor

29 de diciembre de 2015

Hola

Tengo gran duda. Cómo puedo mostrar una imagen que esta en otra unidad (esta en red). El servidor donde está ubicado la aplicación esta en C: pero tengo una unidad en red (Z:), donde están ubicadas las imágenes que deseo mostrar.

Si ejecuto esto (en un archivo imagen.html) funciona y muestra la imagen:

<img src="file:///Z:/img123.jpg" alt="prueba" />

Pero al ejecutar lo mismo pero con extension PHP, no muestra nada. ¿Cómo podría en Symfony mostrar las imágenes ubicadas en esa unidad?

Gracias.


Respuestas

#1

No entiendo cómo puede suceder el error que comentas. Si el siguiente código HTML te funciona bien:

<img src="file:///Z:/img123.jpg" alt="prueba" />

No debería importar si el archivo se llama image.html o imagen.php. Y no importa si usas PHP normal y corriente o Symfony. Lo único importante es la ruta y al usar file:///Z: está bien definida la ruta. ¿Puedes ver en el inspector de tu navegador qué error HTTP se sucede que impide cargar esa imagen?

@javiereguiluz

29 diciembre 2015, 22:18
#2

Al ejecutar directo el archivo image.html se muestra la imagen.

pero al ejecutarla en el servidor localhost/image.html o /image.php no lo muestra.

al ver el inspector del navegador,

Chrome: 
 
me muestra es mensaje:  **"Not allowed to load local resource"**
Firefox:
 
<img src="file:///Z:/img123.jpg" alt="prueba" >
::berfore
</img>
 
pero en al ejecutar el archivo directo no lo muestra (::berfore).

@dariongg

30 diciembre 2015, 13:21
#3

Según esta discusión Google Chrome (y por extensión el resto de navegadores) limitan la apertura de archivos guardados localmente (aunque en tu caso las imágenes estén en una unidad de red llamada Z: para el navegador sigue siendo un archivo local de tu máquina).

En este otro artículo proponen como solución abrir el navegador con la opción --allow-file-access-from-files. Así que para abrir Chrome deberías ejecutar este comando en la consola:

C:\Users\<user>\AppData\Local\Google\Chrome\Application>chrome --allow-file-access-from-files

Aparte de ser muy incómodo, esta solución solo te serviría si eres tu la única persona que accede a esta web. Además, algunos usuarios dicen que esa opción no funciona desde la versión 37 del navegador.

Con todo esto, la única solución factible parecer ser utilizar un servidor web "de verdad" para acceder a las imágenes. Al margen de servidores como Apache, podrías también utilizar el propio servidor interno que incluyen las versiones modernas de PHP.

@javiereguiluz

30 diciembre 2015, 13:33