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