How to get local file system path in azure websites

There is an environment variable called HOME in your website's environment that will get you part way there.

You can access it using razor syntax or in code (C#). For example, suppose you have a file called data.txt that is at the root of your site with the default document and the rest of your files. You could get it's full path like this.

@{ var dataFileName = Environment.GetEnvironmentVariable("HOME").ToString() + "\\site\\wwwroot\\data.txt"; }

You can find this out on your own using the Site Control Management/"Kudu". For example, if your website is contoso.azurewebsites.net, then simply navigate to contoso.scm.azurewebsites.net. In here you can learn all about the file system and environment variables available to your website.


For testability, I use below code.

string path = "";
if (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("HOME")))
    path = Environment.GetEnvironmentVariable("HOME") + "\\site\\wwwroot\\bin";
else
    path = ".";
path += "\\Resources\\myfile.json";

In above example, I added myfile.json file to Resources folder in a project with Content and Copy if newer property setting.

Tags:

Azure