如何在C#中创建正确的转义文件:// URI?

时间:2009-06-23 17:39:15

标签: c# uri

从本地路径创建完全URL编码的file:// 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

2 个答案:

答案 0 :(得分:4)

它已经编码

uri.AbsolutePath应该为您提供"C:/Data/Input%20Document.txt"

答案 1 :(得分:0)

你试过了吗?

new Uri(str).AbsoluteUri

不确定我是否理解您对相对URI的要求......