cllpse
cllpse

Reputation: 21727

Read contents of a file using a relative path in a Web Application

How can I read the contents of a text file in my Web Application, using a relative path/URL?

The files are located in a directory at the root of my application.

I don't want to specify the full path to the file I want to access, since my test environment is not an exact mirror of my production environment.

Upvotes: 23

Views: 44165

Answers (2)

Klaus Byskov Pedersen
Klaus Byskov Pedersen

Reputation: 120917

Use Server.MapPath("/path/to/file") and pass the result of that to File.ReadAllText():

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

Upvotes: 46

m3kh
m3kh

Reputation: 7941

You can use this code snippet as well.

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

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

Upvotes: 7

Related Questions