2012-02-22 30 views
15

Öyle gibi bir XSLT dosyası okumak için bir dosya yolu inşa etmeye çalışıyorum: Ben bir denetleyici içindeyimasp.net mvc geçerli dizini alın

string path = "../_xslt/example.xslt"; 
StreamReader reader = new StreamReader(path); 

... (/ Kontrolörler/(System.IO.DirectoryNotFoundException)

yapılamadı: ExampleController.cs) ve '/ _xslt /' klasörü '/ Kontrolörler'

Ancak, ben alıyorum hatadır aynı düzeydedir 'c: \ windows \ system32 \ _xslt \ example.xslt' yolunun bir bölümünü bulun.

Bunu yanlış yoldan mı yapıyorum?

Yardımlarınız için teşekkürler!

cevap

23
Bu ControllerContext üzerinden kolayca erişilebilir controller içerisinde, sizin için herhangi bir göreli yolları haritaya HttpServerUtility.MapPath yöntemi kullanabilirsiniz

:

string path = ControllerContext.HttpContext.Server.MapPath("~/_xslt/example.xslt"); 
... 
3

kontrolör

String path = ControllerContext.HttpContext.Server.MapPath(@"~/_xslt/example.xslt"); 

Else dizin kökünde varsa

String path = ControllerContext.HttpContext.Server.MapPath(@"../_xslt/example.xslt");