Gets a local operating-system representation of a file name.
Assembly: System (in System.dll)
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 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 property is computer/download/file.ext.
Silverlight for Windows PhoneLocalPath 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 Else outputBlock.Text &= "Uri is not a UNC path" outputBlock.Text &= vbCrLf End If
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.