Share via


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)

Syntax

'Declaration
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.

Exceptions

Exception Condition
InvalidOperationException

This property is valid only for an absolute Uri instance.

Remarks

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:

file://computer/download/file.ext

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:

file::////computer/download/file.ext

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.

Examples

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
Else
  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";
else
    outputBlock.Text += "Uri is not a UNC path\n";
Uri uriAddress2 =  new Uri("file://server/filename.ext");
Console.WriteLine(uriAddress2.LocalPath);
Console.WriteLine("Uri {0} a UNC path", uriAddress2.IsUnc ? "is" : "is not");

Version Information

Silverlight

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

Platforms

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

See Also

Reference