Pergunta

Qual seria a maneira correta de criar um file:// totalmente URL-codificado URI de um caminho local, ou seja, onde todos os caracteres especiais, como espaços em branco etc são escapou?

Dado o seguinte entrada

C:\Data\Input Document.txt

Gostaria de obter

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

Estou usando

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

No entanto, isso resulta em um URI unescaped:

file:///C:/Data/Input Document.txt
Foi útil?

Solução

já está codificado

uri.AbsolutePath deve dar-lhe "C:/Data/Input%20Document.txt"

Outras dicas

Você tentou:

new Uri(str).AbsoluteUri

Não tenho certeza eu entendo a sua exigência para URIs relativos ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top