2009-06-23 26 views
5

Cách chính xác để tạo một URL file:// được mã hóa hoàn toàn bằng URL từ đường dẫn cục bộ, nghĩa là tất cả các ký tự đặc biệt như khoảng trắng, v.v ... đều được thoát?Cách tạo tệp thoát đúng: // URI trong C#?

Với đầu vào sau

C:\Data\Input Document.txt 

Tôi muốn để có được

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

Tôi đã sử dụng

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

Tuy nhiên, điều này dẫn đến một URI unescaped:

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

Trả lời

3

nó đã được mã hóa

uri.AbsolutePath sẽ cho bạn "C:/Data/Input%20Document.txt"

+0

Cảm ơn, tôi đã bỏ lỡ điều đó. Tuy nhiên, nó chỉ hoạt động cho các URI tuyệt đối vì thuộc tính này không được thiết lập cho các URI tương đối. –

0

Các bạn đã thử:

new Uri(str).AbsoluteUri

Không chắc tôi hiểu yêu cầu của bạn cho người thân URI ...

Các vấn đề liên quan