web-dev-qa-db-ja.com

Webアプリケーションで相対パスを使用してファイルの内容を読み取る

相対パス/ URLを使用して、Webアプリケーションのテキストファイルの内容を読み取るにはどうすればよいですか?

ファイルは、アプリケーションのルートにあるディレクトリにあります。

テスト環境は実稼働環境の正確なミラーではないため、アクセスしたいファイルへのフルパスを指定したくありません。

23
cllpse

Server.MapPath("/path/to/file")を使用して、その結果をFile.ReadAllText()に渡します。

String template = File.ReadAllText(Server.MapPath("~/Templates/") + filename);
46

このコードスニペットも使用できます。

using System.IO;
using System.Web.Hosting;

using (StreamReader sr = new StreamReader(VirtualPathProvider.OpenFile("~/foo.txt")))
{
    string content = sr.ReadToEnd();
}
7
Mehdi Golchin