2013-02-12 31 views
0

我有一种时髦的问题 - 给出的uri http://localhost,和相对文件路径virtualdirectory\\path\\to\\my\\file.html,我怎么能合并成一个有效的网址应该是http://localhost/virtualdirectory/path/to/my/file.html将Url和相关文件路径加入有效的Uri?

我正在使用Web.API和客户端搜索来查看静态html文件是否存在于服务器上的虚拟目录中。客户端使用jQuery请求搜索,Web.API控制器在本地虚拟目录上执行搜索。如果该文件存在,则控制器需要将有效的Url返回给客户端,以便客户端可以查看该静态html文件。

如果这是有道理的。 :)

+1

看一看这个问题:http://stackoverflow.com/questions/4925468/combine-relative-baseuri-with-relative-path – 2013-02-12 18:47:01

+1

或者这一个http://stackoverflow.com/问题/ 3681052/get-absolute-url-from-relative-path-refactored-method其中有一个非常有用的评论,接受的答案 – 2013-02-12 18:49:40

回答

1
new Uri(new Uri("http://localhost/"), "virtualdirectory\\path\\to\\my\\file.html".Replace("\\","/")); 
+0

只是一个有趣的提示:即使没有Replace()调用,代码也能正常工作。 – 2013-02-12 18:50:20

+0

@SergeyBrunov这并不让我感到惊讶。 Uri班级试图做很多魔术。虽然很高兴知道。 – 2013-02-12 19:02:19