Pregunta

Tengo un sitio web en GoDaddy. Todos los permisos se establecen correctamente y qué existe la imagen. Sin embargo, cuando la página se carga la imagen para el elemento seleccionado no se muestran. Aquí está mi código

        imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png";
        if (File.Exists(Server.MapPath(imagepath)))
        { this.spaimage.ImageUrl = Server.MapPath(imagepath); }

spaimage es un control ASP y thr URL que la imagen se ajusta a es D: \ alojamiento \ xxxxxxx \ calspas \ spaimages \ modelname.png

¿Qué estoy haciendo mal.

¿Fue útil?

Solución

El D:\hosting\xxxxxxx\calspas\spaimages\modelname.png ruta del archivo es la carpeta en la que reside la imagen en el servidor web. Está enviando esto como atributo de la etiqueta <img> src, que indica al navegador, "Ve por la imagen en D:\hosting\xxxxxxx\calspas\spaimages\modelname.png." El navegador no puede irse a la unidad D del servidor web, por lo que se ve en su propia unidad D para esa carpeta y la imagen.

Lo que quiere decir que hacer es tener el atributo de la etiqueta <img> src ser una ruta a una carpeta en la página web . Estás a punto de no - simplemente introduce la parte Server.MapPath al asignar la ruta de la imagen a la propiedad ImageUrl. Es decir, en lugar de:

this.spaimage.ImageUrl = Server.MapPath(imagepath);

Do:

this.spaimage.ImageUrl = imagepath;

ver si funciona.

Gracias

Otros consejos

A menudo, si una imagen "no muestra" (supongo que un rojo-x-equivalente se está visualizando para mostrar "imagen rota"), right-click la imagen rota, copiar la URL y abrir la URL en una ventana del navegador.

De esta manera, cuando la imagen está siendo generado por una secuencia de comandos, veo cualquier texto de error que el guión podría haber mostrado. En caso contrario, se mostrará la imagen real.

Además, añadir un bloque else a la

if (File.Exists(Server.MapPath(imagepath)))

como

else 
{ 
    Response.Write(string.Format(
        "File does not exist at '{0}'.", 
        Server.MapPath(imagepath))); 
}

Para propósitos de depuración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top