2009-06-23 4 views
5

Каким будет правильный способ создания полностью кодированного URL-адреса file:// URI из локального пути, то есть где скрываются все специальные символы, такие как пробелы и т. Д.?Как создать правильно экранированный файл: // URI в C#?

Учитывая следующие входные

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. –

0

Вы пробовали:

new Uri(str).AbsoluteUri

Не уверен, что я понимаю ваше требование относительной URIs ...

 Смежные вопросы

  • Нет связанных вопросов^_^