Wie man virtuelle Verzeichnis physikalischer Pfad
Da wir wissen, dass eine virtuelle direcoty verknüpft werden können, um einen Ordner mit verschiedenen Namen, wie bekomme ich den physischen Pfad des virtuellen Verzeichnisses ?
Ich habe versucht mit HttpContext.Aktuelle.server.MapPath aber es gibt mir die Physik Pfad, plus der Weg, den ich sende, der im parameter " auch wenn das Verzeichnis gar nicht existiert oder wenn er existiert, mit eine andere name.
Exemple :
C:\blabla\Sites\Application1\Imaageesss
- Auf der disc
Application1\ - Bildern (Bei ISS, mein virtueller directory)
Aber wenn ich einen MapPath auf "/Images" wird es nie geben mir
C:\blabla\Sites\Application1\Imaageesss aber
C:\inetpub\wwwroot\Images das ist nicht das echte directory verknüpft.
- Alle Antworten unten lösen nicht das problem. Ich nehme an, MapPath ist nicht schlau genug, um zu überprüfen, ob es sich um ein virtuelles IIS-Verzeichnis oder nicht. Es fügt nur die Anwendung root-Pfad der Pfad, den Sie angeben. Leider konnte ich nicht finden, eine Lösung für dieses auch nach intensiver Suche im web.
- Einen Weg gefunden, siehe Antwort unten.
- Ich hatte ein ähnliches problem unter zwei verschiedenen Umständen. Ich musste anrufen
Server.MapPath("/Application1/Images/image.jpg")
stattServer.MapPath("/Images/image.jpg")
in einer situation, und der andere es gerade heraus, dass ich falsch referenziert meinem Namen für das virtuelle Verzeichnis innerhalb meiner Anwendung. Ich hatte das gleiche Ergebnis, die OP war zu erleben, bevor ich alle diese Dinge. Ich dachte, ich würde hinzufügen auf...
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist der richtige Weg, um darüber zu gehen, wie "~" bezieht sich auf den root der Anwendung.
Dies ist was für mich gearbeitet:
Was ist, wenn Sie versuchen, dieses kleine snippet?
Nach einigen weitere Forschung ich war in der Lage, erstellen Sie eine Methode, um den physischen Pfad des virtuellen IIS-Verzeichnis:
Nachteil: diese Lösung wird davon ausgegangen, dass du nur eine root-Anwendung (Apps[0]).
Könnte dies Ihre Frage zu beantworten:
http://msdn.microsoft.com/en-us/library/system.web.httprequest.physicalpath.aspx
Allerdings kann ich die derzeit nicht ein Beispiel geben, denn ich habe eine Menge Arbeit zu tun. Wenn I finden Sie einige Zeit, schicke ich detaillierte Informationen.
Folgende sollte gut funktionieren: