2009-06-23 71 views
5

從本地路徑創建完全由URL編碼的file:// URI的正確方法是什麼?即所有特殊字符(如空白等)都被轉義的地方?如何在C#中創建正確轉義的文件:// URI?

考慮下面的輸入

C:\Data\Input Document.txt 

我想獲得

file:///C:/Data/Input%20Document.txt 

我一直在使用

Uri uri = new Uri(@"C:\Data\Input Document.txt", UriKind.RelativeOrAbsolute); 

然而,這導致一個轉義URI:

file:///C:/Data/Input Document.txt 

回答

3

它已被編碼

uri.AbsolutePath應該給你"C:/Data/Input%20Document.txt"

+0

謝謝,我錯過了。但是,它僅適用於絕對URI,因爲此屬性未設置爲相對URI。 – 2009-06-23 17:54:49

0

你試過:

new Uri(str).AbsoluteUri

不知道我理解您的要求爲相對URI ...

相關問題