如何在c#中处理带有额外参数的文件路径
本文关键字:参数 路径 文件 处理 | 更新日期: 2023-09-27 18:11:10
我正在我的应用程序内部从互联网下载文件。现在我正在处理多种文件类型,所以我需要能够检测文件的文件类型,然后我的应用程序才能继续。我遇到的问题是,一些下载文件的url包含额外的参数。
例如:http://www.myfaketestsite.com/myaudio.mp3?id=20
最初我使用的是String.EndsWith()
。显然这行不通了。对如何检测文件类型有什么想法吗?
用Uri
类包装URL。它将把它分成不同的段,你可以使用,或者你可以使用Uri
类本身的辅助方法:
var uri = new Uri("http://www.myfaketestsite.com/myaudio.mp3?id=20");
string path = uri.GetLeftPart(UriPartial.Path);
// path = "http://www.myfaketestsite.com/myaudio.mp3"
你的问题是:
- 截断查询字符串&返回干净的URL c# ASP.net
- 获取url而不需要查询字符串
您总是可以在问号上分割以消除参数。例如
string s = "http://www.myfaketestsite.com/myaudio.mp3?id=20";
string withoutQueryString = s.Split('?')[0];
如果不存在问号,也没关系,因为您仍然会从0索引中获取值。然后,您可以对withoutQueryString
字符串进行逻辑处理。