c# uri文件路径_c# – 合并两个URI时路径部分被覆盖

您的相对URI应该是相对的,即删除第一个斜杠(或添加句点),

string relative = "/my subsite/my page.aspx?my=query";

Uri test1= new Uri(relative.Substring(1), UriKind.Relative); // without 'root'

Uri test2= new Uri("." + relative, UriKind.Relative); // with 'current'

工作范例:

Uri baseUri = new Uri("http://hostname/path/");

string relative = "/my subsite/my page.aspx?my=query";

Uri test1 = new Uri(baseUri, relative); // original string

Uri test2 = new Uri(baseUri, relative.Substring(1)); // without 'root' character

Uri test3 = new Uri(baseUri, "." + relative); // with 'current' character

Console.WriteLine(test1.OriginalString); // wrong

Console.WriteLine(test2.OriginalString); // right!

Console.WriteLine(test3.OriginalString); // right!

所以,你可能应该像这样处理你的相关部分:

if (relative.StartsWith("/"))

relative = "." + relative;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值