asp.net mvcで現在のディレクトリを取得する 質問する

asp.net mvcで現在のディレクトリを取得する 質問する

次のように、XSLT ファイルを読み取るためにファイル パスを構築しようとしています。

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

...ここではコントローラー (/Controllers/ExampleController.cs) 内におり、'/_xslt/' フォルダーは '/Controllers' と同じレベルにあります。

ただし、次のようなエラーが発生します:

(System.IO.DirectoryNotFoundException) パス 'c:\windows\system32\_xslt\example.xslt' の一部が見つかりませんでした。

私のやり方は間違っているのでしょうか?

ご協力いただきありがとうございます!

ベストアンサー1

あなたはHttpServerUtility.MapPathメソッドを使用して相対パスをマップできます。コントローラでは、次のメソッドを使用して簡単にアクセスできますControllerContext

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

おすすめ記事