2011-03-09 19 views
32

Estoy tratando de mostrar la imagen en el archivo cshtml. El filtro de correo no deseado me impide escribir el HTML para la imagen. Sin embargo, la fuente se establece enVisualización de imagen en la vista MVC

src= "@Html.Encode(Model.PictureLocation)" alt="IMAGES" 

En viewsource se muestra como

src= "C:\Documents and Settings\xxx\My Documents\Visual Studio 2010\Projects\MVC\TIQC_ServerInterface\TIQC_ServerInterface\uploads\FileUpload12011_03_02_11_49_22.jpg" alt="IMAGES" 

La imagen está presente en la ubicación mencionada en la trayectoria de src.

En ejecución, la página no muestra las imágenes. Háganos saber si hay algo mal aquí?

Respuesta

63

Ha especificado una ruta absoluta que no existe en el equipo cliente. Trate de esta manera:

<img src= "@Url.Content("~/uploads/FileUpload12011_03_02_11_49_22.jpg")" alt="IMAGES" /> 

o si la variable de modelo contiene "~/uploads/FileUpload12011_03_02_11_49_22.jpg" usted podría:

<img src= "@Url.Content(Model.PictureLocation)" alt="IMAGES" /> 
+0

que funcionó gracias, –

+1

esto sólo funcionará si los archivos se encuentran en el interior la carpeta del sitio web ... ¿Cómo mostraría los archivos guardados localmente en el servidor HardDrive? –

+1

@StevenHernandez, el cliente no puede acceder directamente a los archivos arbitrarios del disco duro. Imagínese lo que sucedería si lo que estaba preguntando fuera posible :-) Si los archivos no son parte de la estructura de su sitio web, tendrá que escribir explícitamente un controlador del lado del servidor (controlador) para exponerlos y luego hacer que el cliente apunte a esta costumbre entrenador de animales. –

2

La ruta en el atributo src debe ser relativa a la raíz del sitio web, no a la ruta absoluta en el servidor. Así, en su caso que probablemente sería algo así como "/uploads/FileUpload12011_03_02_11_49_22.jpg" ...

Cuestiones relacionadas