我正在从我的应用程序内部的Internet下载文件。现在我正在处理多种文件类型,因此我需要能够在应用程序可以继续之前检测文件的文件类型。我遇到的问题是,从中下载文件的一些URL包含额外的参数。
例如:
http://www.myfaketestsite.com/myaudio.mp3?id=20
最初我使用String.EndsWith()
。显然这不再起作用了。有关如何检测文件类型的任何想法吗?
答案 0 :(得分:3)
将网址包裹在Uri
课程中。它会将其拆分为您可以使用的不同段,或者您可以使用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"
您的问题与以下内容重复:
答案 1 :(得分:0)
您可以随时拆分问号以消除参数。 e.g。
string s = "http://www.myfaketestsite.com/myaudio.mp3?id=20";
string withoutQueryString = s.Split('?')[0];
如果不存在问号,则无关紧要,因为您仍然会从零索引中获取值。然后,您可以在withoutQueryString
字符串上执行逻辑。