在ASP.NET中将UNC路径转换为"file:///"URL

Hei*_*nzi 12 c# vb.net asp.net path

我需要将UNC路径转换为file:///URL.例如:

\\fileserver\share\dir\some file.ext --> file://///fileserver/share/dir/some%20file.ext
Run Code Online (Sandbox Code Playgroud)

这有内置功能吗?

Jon*_*cto 13

是的,在System命名空间中使用Uri类:

Uri uri = new Uri(@"\\fileserver\share\dir\some file.ext");
string url = uri.AbsoluteUri;
Run Code Online (Sandbox Code Playgroud)

  • 这给出了"file://fileserver/share/dir/some%20file.ext",而不是"明确请求的文件://///fileserver/share/dir/some%20file.ext".将UNC路径编码为url的"正确"方式是什么,可以是一个长篇讨论,例如https://bugzilla.mozilla.org/show_bug.cgi?id=66194 - 但是这仍然无法回答op的问题. (2认同)