Como sabemos que una directiva virtual se puede vincular a una carpeta con un nombre diferente, ¿cómo puedo obtener la ruta física de un directorio virtual?Cómo obtener la ruta física del directorio virtual
He estado intentando con HttpContext.Current.server.MapPath, pero me devuelve la ruta física más la ruta que envío en el parámetro incluso si el directorio no existe o si existe con un nombre diferente.
Ejemplo:
C: \ blabla \ Sites \ Application1 \ Imaageesss - En el disco
Application1 \ Images (En ISS, mi directorio virtual)
Pero si hago un MapPath en "/ Imágenes" nunca me dará C: \ blabla \ Sites \ Application1 \ Imaageesss but C: \ inetpub \ wwwroot \ Imágenes a las que no está vinculado el directorio real.
Todas las respuestas a continuación no resuelven el problema. Supongo que MapPath no es lo suficientemente inteligente como para comprobar si es un directorio virtual de IIS o no. Simplemente agrega la ruta raíz de la aplicación a la ruta que proporcione. Lamentablemente, no pude encontrar una solución para esto incluso después de buscar intensamente en la web. – needfulthing
Encontrado un camino, ver respuesta a continuación. – needfulthing
Tuve un problema similar en dos circunstancias diferentes. Tuve que llamar a 'Server.MapPath ("/Application1/Images/image.jpg ")' en lugar de a 'Server.MapPath ("/Images/image.jpg ")' en una situación, y la otra resultó ser I mis referencias a mi nombre de directorio virtual dentro de mi aplicación. Tuve el mismo resultado que el OP experimentó hasta que hice cada una de estas cosas. Solo pensé que agregaría ... – ionalchemist