我使用TweetSharp
在我的wp8应用中传输推文。我想检测每条推文中的内容。使用照片很简单,使用TwitterStatus.Entities.Media
一组图像。通过视频加注,视频链接位于TwitterStatus.Entities.Urls
(例如youtube.com
或youtu.be
等),并提供指向其他网站的简单链接。官方Android Twitter应用程序检测内容类型并显示图标forech类型(链接,视频,照片)。我试图从JSON获取此信息,但在JSON视频链接中也在urls
,而不在media
。但Android应用程序知道如何检测内容,所以它可以成为。
在完整的解决方案中,enum
ContentType
,MyTwitterMessage
,Photo
或{{1}只需Video
字段Link
}
答案 0 :(得分:0)
我能想到的几种方法是
a)只需使用已知的文件扩展名并检查输入的扩展名是否为并返回(假设所有URL都提供文件扩展名)。
b)使用URL启动下载,但仅检索标题
WebClient aClient = new WebClient();
WebHeaderCollection collection = new WebHeaderCollection();
collection[HttpRequestHeader.Range] = "bytes=0-0";
aClient.Headers = collection;
aClient.DownloadStringAsync(new Uri("URI GOES HERE"));
然后在DownloadStringCompleted事件中解析标头并检索内容类型
var aClient = (Webclient)sender;
var responseHeaders = client.ResponseHeaders;
var TypeOfContent = responseHeaders["Content-Type"];
然后,您应该可以从中确定内容,可以找到MIME类型here
对于b)您可能还需要处理重定向,但这是另一个问题。