Считывание содержимого файла с помощью относительного пути в веб-приложении


Как я могу прочитать содержимое текстового файла в моем веб-приложении, используя относительный путь / URL?

Файлы находятся в корневом каталоге моего приложения.

Я не хочу указывать полный путь к файлу, к которому я хочу получить доступ, так как моя тестовая среда не является точным зеркалом моей рабочей среды.

2 23

2 ответа:

Используйте Server.MapPath("/path/to/file") и передайте результат этого в File.ReadAllText():

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

Вы также можете использовать этот фрагмент кода.

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

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