Uri.LocalPath Property
Gets a local operating-system representation of a file name.
Namespace: System
Assembly: System (in System.dll)
Property Value
Type: System.StringA String that contains the local operating-system representation of a file name.
| Exception | Condition |
|---|---|
| InvalidOperationException | 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:
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
The following example creates a Uri instance and writes the local path to the console.
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");
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.