2009-06-23 53 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 ...

相关问题