Uri.LocalPath Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets a local operating-system representation of a file name.

Namespace:  System
Assembly:  System (in System.dll)


Public ReadOnly Property LocalPath As String
public string LocalPath { get; }

Property Value

Type: System.String
A String that contains the local operating-system representation of a file name.


Exception Condition

This property is valid only for an absolute Uri instance.


The value returned by this property is unescaped. If the path is recognized as a Windows file path, all forward slashes (/) are replaced by backward slashes (\).

For the URI file://computer/file.ext, the absolute path is /file.ext and the local path is \\computer\file.ext.

Silverlight-based applications are cross-platform, so they run in most modern Web browsers including Apple Safari version 2.0 and later on Apple Mac OS X. However, full parsing for UNC style paths in a Uri is supported only on Windows. Any backslashes in a Uri for the UriSchemeFile representing a UNC path are converted to forward slashes on Apple Mac OS X.

An example that displays this issue is below:

Uri testUri = Uri(@"file://\\\\computer\\download\\file.ext");

On Windows, this UNC path is converted to the following Uri:


The AbsolutePath is /download/file.ext.

The Host property is equal to: computer.

The IsUnc property is true.

The LocalPath property is \\computer\download\file.ext.

On Apple Mac OS X, this UNC path is converted to the following Uri:


The AbsolutePath property is //computer/download/file.ext.

The Host property is an empty string.

The IsUnc property is false.

The LocalPath property is computer/download/file.ext.

Platform Notes

Silverlight for Windows Phone Silverlight for Windows Phone

 LocalPath does not convert the forward slash (/) to a backslash (\). This is because file-based URIs (URIs of the form file://) are not allowed. Paths returned are relative paths.


The following example creates a Uri instance and writes the local path to the console.

Dim uriAddress2 As Uri = New Uri("file://server/filename.ext")
outputBlock.Text &= uriAddress2.LocalPath
outputBlock.Text &= vbCrLf

If uriAddress2.IsUnc Then 
  outputBlock.Text &= "Uri is a UNC path"
  outputBlock.Text &= vbCrLf
  outputBlock.Text &= "Uri is not a UNC path"
  outputBlock.Text &= vbCrLf
End If      
Uri uriAddress2 =  new Uri("file://server/filename.ext");
outputBlock.Text += uriAddress2.LocalPath;
outputBlock.Text += "\n";

if (uriAddress2.IsUnc) 
    outputBlock.Text += "Uri is a UNC path\n";
    outputBlock.Text += "Uri is not a UNC path\n";
Uri uriAddress2 =  new Uri("file://server/filename.ext");
Console.WriteLine("Uri {0} a UNC path", uriAddress2.IsUnc ? "is" : "is not");

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

See Also